2012-11-03 146 views
2

我有一个MS Access中包含一个按钮的表单。 我在按钮的onClick事件上显示一个消息框。但是,用户也可以使用Tab键导航到该按钮,然后按空格键,并期望发生与onClick事件相同的行为。按钮上的onClick事件和'空格键'按键事件

有没有办法有效地实现这一点?或者唯一的方法是从两个地方调用相同的子例程 - 一个处理onClick事件,另一个处理“空格键”按键事件。

+2

选中一个命令按钮(使其具有焦点),然后按下Enter或空格具有与使用鼠标单击命令按钮相同的效果...按钮的点击事件触发。您的Access应用程序的行为有所不同,还是我误解了您的问题? – HansUp

+2

正如@HansUp所说,你描述的行为应该没有进一步的代码就可以工作。如果在焦点位置上按下空格键时没有触发OnClick事件,则它不是正确的按钮控件或其他任何错误。 –

回答

0

您不应该将消息框的结果附加到另一个onClick上,而应该在现有的子表单中获得结果并从那里开始工作。例如:

Answer = MsgBox("Do you want to continue ?", vbYesNo) 
If Answer = vbYes Then 
    Code for YES 
Else 
    Code for NO 
EndIf 

了解更多关于您的消息框和代码的作用会有所帮助。

0

有您的问题,许多解决方案:

  1. 禁用Button_OnKey事件,只允许OnClick事件
  2. 允许安其的事件,而是调用处理OnClick
  3. 同一子取出OnClick事件代码,因为用户将能够按下键盘上的按钮,或者通过点击鼠标,在这两种情况下,都会触发Button_Click事件,因此将处理代码放入Button_Click事件