使用键盘事件

大多数 Windows 窗体程序都通过处理键盘事件来处理键盘输入。 本主题提供键盘事件的概述,其中包括关于何时使用每个事件以及提供给每个事件的数据的详细信息。 有关更多信息,请参见 事件概述(Windows 窗体)事件处理程序概述(Windows 窗体)事件处理程序概述(Windows 窗体)事件概述(Windows 窗体)事件处理程序概述(Windows 窗体)事件概述(Windows 窗体)事件处理程序概述(Windows 窗体)事件概述(Windows 窗体).

键盘事件

当用户按键盘键时,Windows 窗体提供两个事件,而当用户松开键盘键时,Windows 窗体提供一个事件。

  • KeyDown 事件发生一次

  • KeyPress 事件,当用户按住同一个键时,该事件可以发生多次。

  • 当用户松开键时,KeyUp 事件发生一次。

当用户按键时,Windows 窗体根据键盘消息指定的是字符键还是物理键来确定要引发的事件。 有关字符键和物理键的更多信息,请参见 键盘输入工作原理

下表对这三个键盘事件进行了说明。

键盘事件

说明

结果

KeyDown

当用户按物理键时将引发此事件。

KeyDown 的处理程序接收:

KeyPress

当所按的键产生字符时将引发此事件。 例如,当用户按 Shift 和小写的“a”键时,将产生大写字母“A”字符。

KeyPressKeyDown 之后引发。

  • KeyPress 的处理程序接收:

  • 一个 KeyPressEventArgs 参数,它包含所按键的字符代码。 此字符代码对于字符键和修改键的每个组合都是唯一的。

    例如,“A”键将生成:

    • 字符代码 65(如果与 Shift 键一起按下)

    • 或 Caps Lock 键 97(如果只按下它一个键),

    • 和 1(如果它与 Ctrl 键一起按下)。

KeyUp

当用户松开物理键时将引发此事件。

KeyUp 的处理程序接收:

  • KeyEventArgs 参数:

    • 它提供 KeyCode 属性(指定一个物理键盘按钮)。

    • Modifiers 属性(Shift、Ctrl 或 Alt)。

    • KeyData 属性(它组合键代码和修改键)。

请参见

概念

键盘输入工作原理

其他资源

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

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