2012-11-03 199 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事件