Windows窗体-输入按键激活提交按钮?
时间:2020-03-06 15:03:14 来源:igfitidea点击:
如何捕获表单上任意位置的Enter键,并强制其触发"提交"按钮事件?
解决方案
窗体具有KeyPreview属性,我们可以使用该属性来拦截按键。
如果将窗体的AcceptButton属性设置为窗体上的按钮之一,则默认情况下会获得该行为。
否则,在窗体上将KeyPreview属性设置为True并处理其KeyDown事件。我们可以检查Enter键并采取必要的措施。
将窗体上的KeyPreview属性设置为True,然后在窗体级别使用KeyPress事件检测Enter键。在检测时,调用"提交"按钮所需的任何代码。
我们可以在窗体的属性中将一个按钮指定为" AcceptButton",它将捕获窗体上的所有" Enter"键,并将它们路由到该控件。
请参阅此MSDN文章,并注意它概述的一些例外情况(多行文本框等)。
如前所述,将窗体的AcceptButton属性设置为其按钮之一,并将该按钮的DialogResult属性设置为DialogResult.OK,以便调用者知道对话框是否被接受或者关闭。