请单击以进行评分并提供反馈

  开启低带宽视图
此页面仅适用于
Microsoft Visual Studio 2005/.NET Framework 2.0

同时提供下列产品的其他版本:
Windows 窗体编程
使用键盘事件

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

键盘事件

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

  • KeyDown 事件发生一次

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

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

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

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

键盘事件 说明 结果

KeyDown

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

KeyDown 的处理程序接收:

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

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

  • KeyData 属性(它组合键代码和修改键)。KeyEventArgs 参数还提供:

    • Handled 属性,可以设置该属性以防止基础控件接收键。

    • SuppressKeyPress 属性,它可以用来抑制该键击的 KeyPressKeyUp 事件。

KeyPress

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

KeyPressKeyDown 之后引发。

  • KeyPress 的处理程序接收:

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

    例如,“A”键将生成:

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

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

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

KeyUp

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

KeyUp 的处理程序接收:

  • KeyEventArgs 参数:

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

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

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

请参见

社区内容   什么是社区内容?
添加新内容 RSS  批注
Processing
© 2009 Microsoft Corporation 版权所有。 保留所有权利  |  商标  |  隐私权声明
Page view tracker