0

私はwinformsアプリケーションに取り組んでいます。私はシンプルlogin screenで、押すとenter keyそれをキャッチし、KeyUp(...) event資格情報が有効でない場合はMessageBox. その後、Enter キーをもう一度押すと、MessageBox と LoginForm の両方にキャッチされ、最初にメッセージ ボックスが消えてから LoginForm が無効な資格情報で入力され、MessageBox が再び表示されるという無限ループが発生します。key eventフォームを再度送信するためにもう一度Enterキーを押す必要があるよりも、MessageBoxに対してのみアクティブにする必要があります。

この状況をどのように処理できますか?

4

2 に答える 2

2

KeyDownイベントを処理する必要があります。

メッセージ ボックスが開いている間、KeyDown はメッセージ ボックスに飲み込まれます。
(閉じた後に発火する KeyUp とは対照的に)

于 2013-06-12T15:53:56.077 に答える
1

資格情報の検証を処理するログイン ボタンを作成し、そのボタンをフォームの [承認] ボタンとして設定することをお勧めします。この種の問題を処理するために構築されています。すなわち、Enter が押されると、ボタンがクリックされたかのように表示されます。

を参照してください。

于 2013-06-13T01:22:36.593 に答える