Поделиться через


Ввод данных пользователем в приложении 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.

См. также

Другие ресурсы

Ввод данных пользователем в Windows Forms

Ввод с клавиатуры в приложении Windows Forms

Ввод данных мышью в приложении Windows Forms