2013-06-12 90 views
0

我正在使用winforms應用程序。我有一個簡單的login screen,當我按enter key我在KeyUp(...) event接收它,如果憑證無效,我會顯示一個MessageBox。 之後,當我再次按Enter鍵時,它被MessageBox和LoginForm兩者所捕獲,並且存在一個無限循環,首先消息框消失,然後LoginForm以無效憑證輸入,並再次顯示MessageBox。 key event應該只對MessageBox有效,比我需要再次按下Enter鍵來重新提交表單。在winforms應用程序中捕獲輸入KeyUp事件

我該如何處理這種情況?

+0

請不要突出顯示隨機詞作爲「代碼」。 – SLaks

+1

顯示代碼.. – matzone

+1

@SLaks:應該說「請'不要'突出'隨機'單詞'作爲'代碼」。 :) – Neolisk

回答

1

我建議你創建一個登錄按鈕來處理證書驗證,然後設置按鈕的形式Accept Button。它的目的是爲了處理這類問題。即一旦輸入被按下,它將看起來好像該按鈕被點擊。

請參閱Example

2

您應該處理KeyDown事件。

當消息框打開時,KeyDown將被它吞下。
(相對於KEYUP,它被關閉之後,將觸發)

相關問題