Ввод данных пользователем в приложении Windows Forms
В Windows Forms ввод данных пользователем отправляется к приложениям в форме сообщений Windows. Серии переопределяемых методов обработки таких сообщений в приложения, формы и управлять уровнем. Когда эти методы получают сообщения клавиатуры и мыши, они вызывают события, которые могут обрабатываться для получения сведения о мыши или клавиатуры входных данных. Во многих случаях приложения Windows Forms смогут обработать все входные данные пользователя путем обработки этих событий. В других случаях приложение может потребоваться переопределить один из методов, которые обрабатывают сообщения для перехвата определенного сообщения, прежде чем их получения приложением, формы или элемента управления.
События мыши и клавиатуры
Все элементы управления Windows Forms наследует набор событий, связанных с мыши и клавиатуры. Например, элемент управления может обрабатывать KeyPress событие, чтобы определить код символа нажатой клавиши или элемент управления может обрабатывать MouseClick событие, чтобы определить положение указателя мыши, нажмите кнопку. Дополнительные сведения о событиях мыши и клавиатуры, см. в разделе использование событий клавиатуры и события мыши в Windows Forms.
Методы, которые обрабатывают сообщения ввода пользователя
Формы и элементы управления имеют доступ к IMessageFilter интерфейс и набор переопределяемых методов, которые обрабатывают сообщения Windows на различных этапах очереди сообщений. Все эти методы имеют Message параметр, который инкапсулирует низкоуровневые сведения о сообщениях Windows. Можно реализовать или переопределить эти методы, чтобы Проверьте сообщение и затем использовать сообщение или передать его к следующему получателю в очереди сообщений. В следующей таблице представлены методы, обрабатывающие все сообщения Windows в Windows Forms.
Метод | Примечания |
---|---|
PreFilterMessage | Этот метод перехватывает сообщения из очереди (также известный как отправленное) Windows на уровне приложения. |
PreProcessMessage | Этот метод перехватывает сообщения Windows на уровне формы и элемента управления, прежде чем они будут обработаны. |
WndProc | Этот метод обрабатывает сообщения Windows на уровне формы и элемента управления. |
DefWndProc | Этот метод выполняет обработку сообщений Windows на уровне формы и элемента управления по умолчанию. Это обеспечивает минимальный набор функциональных возможностей окна. |
OnNotifyMessage | Этот метод перехватывает сообщения на уровне форм и элементов управления, после их обработки. EnableNotifyMessage Бит стиля должны быть установлены для вызова этого метода. |
Сообщения клавиатуры и мыши также обрабатываются дополнительный набор переопределяемых методов, характерные для этих типов сообщений. Дополнительные сведения см. в разделе принцип работы ввода с клавиатуры и принцип работы мыши ввода в Windows Forms.