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