在winforms应用程序中捕捉键盘输入事件
我正在开发winforms应用程序。我有一个简单的在winforms应用程序中捕捉键盘输入事件,winforms,events,Winforms,Events,我正在开发winforms应用程序。我有一个简单的登录屏幕,当我按下enter键时,我会在KeyUp(…)事件中捕捉到它,如果凭证无效,我会显示一个消息框。 之后,当我再次按Enter键时,MessageBox和LoginForm都会捕捉到它,并且有一个无限循环,首先MessageBox消失,然后LoginForm以无效凭据输入,MessageBox再次显示。 键事件应仅对MessageBox处于活动状态,而我需要再次按Enter键才能再次提交表单 我如何处理这种情况?您应该处理按下键事件 当消
登录屏幕
,当我按下enter键
时,我会在KeyUp(…)事件中捕捉到它
,如果凭证无效,我会显示一个消息框
。
之后,当我再次按Enter键时,MessageBox和LoginForm都会捕捉到它,并且有一个无限循环,首先MessageBox消失,然后LoginForm以无效凭据输入,MessageBox再次显示。
键事件
应仅对MessageBox处于活动状态,而我需要再次按Enter键才能再次提交表单
我如何处理这种情况?您应该处理
按下键事件
当消息框打开时,KeyDown将被它吞没。
(与KeyUp相反,它会在关闭后触发)您应该处理KeyDown
事件
当消息框打开时,KeyDown将被它吞没。
(与KeyUp相反,KeyUp在关闭后会触发)我建议您创建一个登录按钮来处理凭证验证,然后将该按钮设置为表单的默认按钮。它是为处理这类问题而构建的。i、 e.按下enter键后,将显示为单击了按钮
请参阅。我建议您创建一个登录按钮来处理凭证验证,然后将该按钮设置为表单的默认按钮。它是为处理这类问题而构建的。i、 e.按下enter键后,将显示为单击了按钮
请参阅。请不要将随机单词突出显示为“代码”。@SLaks:应该说“请不要突出显示随机单词为代码”。)有些单词对我很有意义(:好的,我会注意的。@gesus:这并不意味着它们是code
:)请不要将随机单词突出显示为“code”。@SLaks:应该说“请不要将随机单词突出显示为code”。)有些词对我很有意义(:好的,我会注意的。@gesus:这并不意味着它们是code
:)