我想在窗体上检测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属性设置为True
。
否则,只有当前控件才能看到keydown事件。
但请注意,如果你在这个表单上有可编辑的文本框等,你的用户可能会讨厌这种行为。编辑时需要左/右箭头键。