Windows窗体 – input按键激活提交button?

我怎样才能捕捉到我的窗体上的任何地方input按键,并强制它触发提交button事件?

如果您将窗体的AcceptButton属性设置为窗体上的其中一个button,则默认情况下会获得该行为。

否则,在窗体上将KeyPreview属性设置为True并处理其KeyDown事件。 您可以检查Enter键并采取必要的措施。

您可以指定一个button作为表单的属性中的“AcceptButton”,并将捕获窗体上的任何“Enter”按键,并将它们路由到该控件。

请参阅此MSDN文章,并注意其中列出的几个例外(多行文本框等)

private void textBox_KeyDown(object sender, KeyEventArgs e) { if (e.KeyCode == Keys.Enter){ button.PerformClick(); } } 

如前所述,将表单的AcceptButton属性设置为它的一个button,并将该button的DialogResult属性设置为DialogResult.OK ,以便调用者知道对话是被接受还是被解除。

您可以订阅文本框的KeyUp事件。

 private void txtInput_KeyUp(object sender, KeyEventArgs e) { if(e.KeyCode == Keys.Enter) DoSomething(); } 

表单有一个KeyPreview属性,你可以用它来拦截按键。

将窗体上的KeyPreview属性设置为True,然后使用表单级别上的KeyPress事件来检测Enter键。 在检测时调用任何代码你将有“提交”button。

  if (e.KeyCode.ToString() == "Return") { //do something } 

简单的使用

 this.Form.DefaultButton = MyButton.UniqueID; 

**把你的buttonID代替“MyButton”。