Windows 窗体应用程序中的用户输入

在 Windows 窗体中,用户输入以 Windows 消息的形式发送到应用程序。 一系列可重写的方法在应用程序、窗体和控件级处理这些消息。 当这些方法接收到鼠标和键盘消息时,将引发相应的事件,可以处理这些事件来获取关于鼠标或键盘输入的信息。 在许多情况下,Windows 窗体应用程序可以仅仅通过处理这些事件来处理所有用户输入。 在其他情况下,应用程序可能需要重写处理消息的某个方法,以便在特定消息被应用程序、窗体或控件接收前截获它。

鼠标和键盘事件

所有 Windows 窗体控件都继承一组与鼠标和键盘输入有关的事件。 例如,控件可以处理 KeyPress 事件来确定所按键的字符代码,也可以处理 MouseClick 事件来确定鼠标单击的位置。 有关鼠标和键盘事件的更多信息,请参见 使用键盘事件Windows 窗体中的鼠标事件

处理用户输入消息的方法

窗体和控件可以访问 IMessageFilter 界面和一组可重写的方法,这些方法处理消息队列中不同位置的 Windows 消息。 这些方法都有 Message 参数,该参数封装 Windows 消息的低级别详细信息。 可以实现或重写这些方法,以检查消息,然后或者使用该消息,或者将消息传递到消息队列中的下一个使用者。 下表列出了处理 Windows 窗体中的所有 Windows 消息的方法。

方法

注释

PreFilterMessage

此方法在应用程序级截获排队的(也称为已发送的)Windows 消息。

PreProcessMessage

此方法在 Windows 消息处理前在窗体和控件级截获它们。

WndProc

此方法在窗体和控件级处理 Windows 消息。

DefWndProc

此方法在窗体和控件级执行 Windows 消息的默认处理。 这提供了窗口的最小功能。

OnNotifyMessage

此方法在消息处理后在窗体和控件级截获它们。 若要调用此方法,必须设置 EnableNotifyMessage 样式位。

键盘和鼠标消息也可以被另外一组可重写的、特定于这些消息类型的方法处理。 有关更多信息,请参见 键盘输入工作原理Windows 窗体中鼠标输入的工作原理

请参见

其他资源

Windows 窗体中的用户输入

Windows 窗体应用程序中的键盘输入

Windows 窗体应用程序中的鼠标输入