根据用户在.NET Keys.Enter
中输入Enter键(TextBox
)执行操作的最佳方式是什么,假设键输入的所有权导致抑制TextBox本身的Enter键(e.Handled = true)?
为了这个问题的目的,假设所需的行为不是按下表单的默认按钮,而是按下应该发生的其他一些自定义处理。
答案 0 :(得分:49)
添加按键事件并捕获回车键
以编程方式看起来有点像这样:
//add the handler to the textbox
this.textBox1.KeyPress += new System.Windows.Forms.KeyPressEventHandler(CheckEnterKeyPress);
然后在代码中添加处理程序......
private void CheckEnterKeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e)
{
if (e.KeyChar == (char)Keys.Return)
{
// Then Do your Thang
}
}
答案 1 :(得分:17)
为了将函数与文本框的按键事件链接,请在表单的designer.cs中添加以下代码:
this.textbox1.KeyDown += new System.Windows.Forms.KeyEventHandler(this.OnKeyDownHandler);
现在在相同格式的cs文件中定义函数'OnKeyDownHandler':
private void OnKeyDownHandler(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter)
{
//enter key has been pressed
// add your code
}
}
答案 2 :(得分:6)
您可以将其放入Form Load事件:
textBox1.KeyPress += (sndr, ev) =>
{
if (ev.KeyChar.Equals((char)13))
{
// call your method for action on enter
ev.Handled = true; // suppress default handling
}
};
答案 3 :(得分:0)
如果您希望某些按钮在程序执行时处理Enter ,只需将表单的 AcceptButton 属性指向该按钮即可。
例如:this.AcceptButton = StartBtn;