如何为文本框捕获按键事件
本文关键字:事件 文本 | 更新日期: 2023-09-27 18:29:25
我有一个winform应用程序,它有两个文本框和一个按钮。如果控制焦点在任何文本框上,并且用户单击键盘"输入"按钮。按钮事件应该调用。
问题是我找不到TextBox_KeyDown来捕捉"Enter"键按下。在Visual Studio编辑器中,KeyDown、KeyPress和Keyup属性为空。
有几件事。在我看来,您只需要将Form
上的AcceptButton
设置为用户按下Enter时要单击的按钮。它将自动为您处理。
其次,如果不是这样,则需要在Form
上将KeyPreview
设置为true
,并在Form
:上处理ProcessCmdKey
方法
protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
if (keyData == Keys.Enter)
{
// do something
}
else
{
base.ProcessCmdKey(ref msg, keyData);
}
}
你可以这样做吗?
private void textBox1_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter)
{
}
}