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