0

我正在开发一个 winforms 应用程序。我有一个简单的login screen,当我按下时enter key我抓住它,KeyUp(...) event如果凭据无效,我会显示一个MessageBox. 之后,当我再次按 Enter 时,它被 MessageBox 和 LoginForm 捕获,并且存在一个无限循环,首先消息框消失,然后使用无效凭据输入 LoginForm,然后再次显示 MessageBox。应该只对 MessageBox 有效,而key event不是我需要再次按 Enter 才能再次提交表单。

我该如何处理这种情况?

4

2 回答 2

2

你应该处理这个KeyDown事件。

当消息框打开时,KeyDown 将被它吞噬。
(与 KeyUp 相反,它在关闭后会触发)

于 2013-06-12T15:53:56.077 回答
1

我建议您创建一个登录按钮来处理凭据验证,然后将该按钮设置为表单的接受按钮。它是为处理此类问题而构建的。即一旦按下回车,它看起来好像按钮被点击了。

请参阅示例

于 2013-06-13T01:22:36.593 回答