Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ helpviewer_keywords:

# Overview of using the keyboard (Windows Forms .NET)

In Windows Forms, user input is sent to applications in the form of [Windows messages](https://docs.microsoft.com/windows/win32/winmsg/about-messages-and-message-queues). A series of overridable methods process these messages at the application, form, and control level. When these methods receive keyboard messages, they raise events that can be handled to get information about the keyboard input. In many cases, Windows Forms applications will be able to process all user input simply by handling these events. In other cases, an application may need to override one of the methods that process messages in order to intercept a particular message before it is received by the application, form, or control.
In Windows Forms, user input is sent to applications in the form of [Windows messages](/windows/win32/winmsg/about-messages-and-message-queues). A series of overridable methods process these messages at the application, form, and control level. When these methods receive keyboard messages, they raise events that can be handled to get information about the keyboard input. In many cases, Windows Forms applications will be able to process all user input simply by handling these events. In other cases, an application may need to override one of the methods that process messages in order to intercept a particular message before it is received by the application, form, or control.

[!INCLUDE [desktop guide under construction](../../includes/desktop-guide-preview-note.md)]

Expand Down
2 changes: 1 addition & 1 deletion dotnet-desktop-guide/net/wpf/index.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ landingContent:
- linkListType: tutorial
links:
- text: Create a WPF application
url: https://docs.microsoft.com/visualstudio/get-started/csharp/tutorial-wpf?toc=/dotnet/desktop-wpf/toc.json&bc=/dotnet/breadcrumb/toc.json
url: /visualstudio/get-started/csharp/tutorial-wpf?bc=%252fdotnet%252fbreadcrumb%252ftoc.json&toc=%252fdotnet%252fdesktop-wpf%252ftoc.json

# Card
- title: Fundamentals - XAML
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -213,10 +213,10 @@ If you have many source files that would need to be excluded this way, you can d

### A brief aside on multi-pass compilers

After removing the offending file from the Bean Trader sample, you can re-build and will get four errors. Didn't you have one before? Why did the number of errors go up? The C# compiler is a [multi-pass compiler](https://docs.microsoft.com/archive/blogs/ericlippert/how-many-passes). This means that it goes through each source file twice. First, the compiler just looks at metadata and declarations in each source file and identifies any declaration-level problems. Those are the errors you've fixed. Then it goes through the code again to build the C# source into IL; those are the second set of errors that you're seeing now.
After removing the offending file from the Bean Trader sample, you can re-build and will get four errors. Didn't you have one before? Why did the number of errors go up? The C# compiler is a [multi-pass compiler](/archive/blogs/ericlippert/how-many-passes). This means that it goes through each source file twice. First, the compiler just looks at metadata and declarations in each source file and identifies any declaration-level problems. Those are the errors you've fixed. Then it goes through the code again to build the C# source into IL; those are the second set of errors that you're seeing now.

> [!NOTE]
> The C# compiler does [more than just two passes](https://docs.microsoft.com/archive/blogs/ericlippert/how-many-passes), but the end result is that compiler errors for large code changes like this tend to come in two waves.
> The C# compiler does [more than just two passes](/archive/blogs/ericlippert/how-many-passes), but the end result is that compiler errors for large code changes like this tend to come in two waves.

### Third-party dependency fixes (Castle.Windsor)

Expand Down
2 changes: 1 addition & 1 deletion dotnet-desktop-guide/net/wpf/overview/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -140,6 +140,6 @@ Every framework-level element (<xref:System.Windows.FrameworkElement> or <xref:S

## Next steps

- [Create a WPF application.](https://docs.microsoft.com/visualstudio/get-started/csharp/tutorial-wpf?toc=/dotnet/desktop-wpf/toc.json&bc=/dotnet/breadcrumb/toc.json)
- [Create a WPF application.](/visualstudio/get-started/csharp/tutorial-wpf?bc=%252fdotnet%252fbreadcrumb%252ftoc.json&toc=%252fdotnet%252fdesktop-wpf%252ftoc.json)
- [Explore the differences from .NET Framework.](../migration/differences-from-net-framework.md)
- [Learn about XAML.](../fundamentals/xaml.md)
2 changes: 1 addition & 1 deletion dotnet-desktop-guide/net/wpf/toc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ items:
- name: Overview
href: overview/index.md
- name: Create a WPF application
href: https://docs.microsoft.com/visualstudio/get-started/csharp/tutorial-wpf?view=vs-2019
href: /visualstudio/get-started/csharp/tutorial-wpf?view=vs-2019
# - name: Create a control library
# href: getting-started/how-to-create-control-library.md
- name: Migration
Expand Down