Windows窗体 - 输入按键激活提交按钮?

时间:2008-10-02 22:28:29

标签: c# winforms

如何在表单上的任何位置捕获输入按键并强制它触发提交按钮事件?

9 个答案:

答案 0 :(得分:183)

如果将Form的AcceptButton属性设置为表单上的某个按钮,则默认情况下会获得该行为。

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

答案 1 :(得分:20)

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

请参阅this MSDN article并注意其概述的少数例外情况(多行文字框等)

答案 2 :(得分:19)

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

答案 3 :(得分:9)

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

答案 4 :(得分:6)

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

private void txtInput_KeyUp(object sender, KeyEventArgs e)
{

    if(e.KeyCode == Keys.Enter)
       DoSomething();

}

答案 5 :(得分:2)

表单有一个KeyPreview属性,可用于截取按键。

答案 6 :(得分:0)

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

答案 7 :(得分:0)

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

答案 8 :(得分:0)

只需使用

this.Form.DefaultButton = MyButton.UniqueID;  

**将您的按钮ID代替' MyButton'。

相关问题