Form.KeyPreview 属性 (Access)

使用 KeyPreview 属性可指定是否在控件的键盘事件过程之前调用窗体级键盘事件过程。 读/写 Boolean

语法

表达式KeyPreview

expression:表示 Form 对象的变量。

备注

KeyPreview 属性使用以下设置。

Setting Visual Basic 说明
True 窗体先接收键盘事件,然后活动控件接收键盘事件。
False (默认值)只有活动控件才接收键盘事件。

您可以在任何视图中设置 KeyPreview 属性。

使用 KeyPreview 属性为窗体创建键盘处理过程。 例如,当应用程序使用功能键时,如果将 KeyPreview 属性设为 True,则您可以处理窗体级别的键击事件,而不必为每个可能接收键击事件的控件都编写代码。

若要只在窗体级别处理键盘事件,并且防止控件接收键盘事件,请在窗体的 KeyPress 事件过程中将 KeyAscii 参数设为 0,并在窗体的 KeyDownKeyUp 事件过程中将 KeyCode 设为 0。

如果窗体中没有任何可见的或启用的控件,该窗体将自动接收所有键盘事件。

示例

在以下示例中,在窗体的 Load 事件过程中,KeyPreview 属性设置为 True。 这会导致窗体在任何控件接收键盘事件之前接收它们。 然后, KeyDown 事件将检查 KeyCode 参数值,以确定是否已推送 F2、F3 或 F4 键。

Private Sub Form_Load() 
 Me.KeyPreview = True 
End Sub 
 
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer) 
 Select Case KeyCode 
 Case vbKeyF2 
 ' Process F2 key events. 
 Case vbKeyF3 
 ' Process F3 key events. 
 Case vbKeyF4 
 ' Process F4 key events. 
 Case Else 
 End Select 
End Sub

支持和反馈

有关于 Office VBA 或本文档的疑问或反馈? 请参阅 Office VBA 支持和反馈,获取有关如何接收支持和提供反馈的指南。