# KeyPress 事件不支持

当用户按下一个 ANSI 键时该事件发生。

Sub object_KeyPress( KeyANSI )

KeyPress 事件的语法有以下几个成分:

成分 说明
object 必需。一个有效的对象。
KeyANSI 必需。整数值,代表标准的数字 ANSI 键代码。
说明

当用户按下一个键,在运行的窗体上产生可键入字符(一个 ANSI 键),而该窗体或该窗体上的某个控件具有焦点时,KeyPress 事件发生。该事件可以发生在该键被释放之前,也可以发生在该键被释放之后。当用宏的 SendKey 操作或用 Visual Basic 的 SendKeys 语句,将一个 ANSI 键操作发送到窗体或控件的时候,这个事件也会发生。

  • KeyPress 事件发生在下列任意键被按下时:
  • 任何可打印的键盘字符。
  • Ctrl 与标准字母表中字符的组合。
  • Ctrl 与任何特殊字符的组合。
  • Backspace。
  • Esc。

在下面情况下,KeyPress 事件不发生:

  • 按下 Tab。
  • 按下 Enter。
  • 按任何方向键。
  • 引起焦点在控件之间移动的击键操作。

注意

  1. Backspace 是 ANSI 字符集的一部分,而 Delete 不是。在一个控件中用 Backspace 删除一个字符将引发 KeyPress 事件;而用 Delete 删除一个字符则不引发 KeyPress 事件。
  2. 按住产生 ANSI 键代码的键不放,KeyDown 和 KeyPress 事件交替重复发生。当释放此键,KeyUp 事件发生。具有焦点的窗体或控件接收所有的击键操作。只有没有控件的窗体,或者其所有可视控件都失效的窗体才可能有焦点。
  3. KeyPress 事件的默认操作是处理被按下键所对应的事件代码。KeyANSI 指出了与所按下的键或组合键相对应的 ANSI 字符。KeyPress 事件把每个字符的大写和小写解释为互相独立的键码,因而作为两个独立的字符处理。
  4. 为了响应键盘的物理状态,或处理 KeyPress 事件无法辨认的击键操作,比如功能键、翻阅键或这些键与键盘组合键(Alt、Shift 或 Ctrl)的任意组合,可使用 KeyDown 和 KeyUp 事件过程。

和键盘相关的事件序列有:

  • KeyDown
  • KeyPress
  • KeyUp
示例
应用于