使用键盘事件(Windows 窗体 .NET)

大多数 Windows 窗体程序通过处理键盘事件处理键盘输入。 本文概述了键盘事件,包括有关何时使用每个事件以及为每个事件提供的数据的详细信息。 有关一般事件的详细信息,请参阅 事件概述(Windows 窗体 .NET)

键盘事件

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 属性(合并键代码和修饰符)。

另请参阅