MS ACCESS - 如何检测 Form.KeyDown 或 KeyUp 事件上的箭头键
MS ACCESS - How to detect arrow keys on Form.KeyDown or KeyUp events
我想在表单上检测 VBA 中的左右箭头键
为了将 Form.KeyDown 或 KeyUp 事件用于 X 目的。
我试过这个:
Private Sub Form_KeyDown()
If KeyCode = vbKeyRightArrow Then
KeyCode = 0 'Suppress normal effect
On Error GoTo exitsub 'ActiveControl causes a runtime error if none is active
DoCmd.GoToRecord , , acNext
elseif KeyCode = vbKeyLeftArrow Then
DoCmd.GoToRecord , , acPrevious
KeyCode = 0 'Suppress normal effect
On Error GoTo exitsub 'ActiveControl causes a runtime error if none is active
End If
exitsub:
End Sub
这当然行不通..
帮助
您需要将 Form.KeyPreview property 设置为 True
。
否则只有当前控件可以看到 keydown 事件。
但请注意,如果您在此表单上有可编辑的文本框等,您的用户可能会讨厌这种行为。他们在编辑时需要 left/right 箭头键。
我想在表单上检测 VBA 中的左右箭头键 为了将 Form.KeyDown 或 KeyUp 事件用于 X 目的。
我试过这个:
Private Sub Form_KeyDown()
If KeyCode = vbKeyRightArrow Then
KeyCode = 0 'Suppress normal effect
On Error GoTo exitsub 'ActiveControl causes a runtime error if none is active
DoCmd.GoToRecord , , acNext
elseif KeyCode = vbKeyLeftArrow Then
DoCmd.GoToRecord , , acPrevious
KeyCode = 0 'Suppress normal effect
On Error GoTo exitsub 'ActiveControl causes a runtime error if none is active
End If
exitsub:
End Sub
这当然行不通.. 帮助
您需要将 Form.KeyPreview property 设置为 True
。
否则只有当前控件可以看到 keydown 事件。
但请注意,如果您在此表单上有可编辑的文本框等,您的用户可能会讨厌这种行为。他们在编辑时需要 left/right 箭头键。