KeyPress 事件
当用户按某个 ANSI 键时发生。
语法
Private Sub对象 _KeyPress ( ByValKeyANSIAs MSForms.ReturnInteger)
“KeyPress”事件语法包含以下部分:
Part | 说明 |
---|---|
object | 必填。 有效的对象。 |
KeyANSI | 必填。 表示标准数值 ANSI 键码的整数值。 |
备注
KeyPress 事件在用户按在运行的窗体上产生可键入的字符(ANSI 键)的键时发生,而该窗体或该窗体上的控件具有焦点。 该事件可在释放键之前发生,也可在释放键之后发生。 如果在宏中使用 SendKeys 操作或 Visual Basic 中的 SendKeys 语句 将 ANSI 击键发送到窗体或控件,也会发生此事件。
按以下任意键时,KeyPress 事件都可发生:
- 任何可打印的键盘字符
- CTRL 与标准字母表中的字符结合使用
- CTRL 与任何特殊字符结合使用
- Backspace
- Esc
在以下条件下,KeyPress 事件不会发生:
- 按 TAB。
- 按 Enter。
- 按箭头键。
- 击键导致焦点从一个控件移动到另一个控件时。
注意
[!注释] BACKSPACE 是 ANSI 字符集的一部分,但 DELETE 不是。 使用 BACKSPACE 删除控件中的字符会导致 KeyPress 事件;使用 DELETE 删除字符不会。
用户按住产生 ANSI 键码的键时,KeyDown 和 KeyPress 事件交替重复。 用户释放键时,KeyUp 事件发生。 带有焦点的窗体或控件接收所有击键。 窗体仅可在其没有控件或其所有可视控件均被禁用时具有焦点。
KeyPress 事件的默认操作是处理对应于所按的键的事件代码。 KeyANSI 指示对应于所按的键或键组合的 ANSI 字符。 KeyPress 事件将每个字符的大写和小写解释为单独的键代码,因此解释为两个单独的字符。
若要响应键盘的物理状态,或处理 KeyPress 事件未识别的击键(如功能键、定位键以及这些键与键盘修饰符(ALT、SHIFT 或 CTRL)的任何组合),请使用 KeyDown 和 KeyUp 事件程序。
键盘相关事件的序列是:
- KeyDown
- KeyPress
- KeyUp
另请参阅
支持和反馈
有关于 Office VBA 或本文档的疑问或反馈? 请参阅 Office VBA 支持和反馈,获取有关如何接收支持和提供反馈的指南。