我有一个应用程序的用户控件和一个文本框。当在此文本框中按 Enter 键时,应激活一个按钮(基本上是通过按 Enter 键按“确定”,而不是用鼠标手动单击按钮)。
因此,我向文本框添加了一个 KeyDown 事件并实现了以下代码:
private void txtSearchID_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter && !txtSearchID.Text.Equals(string.Empty))
{
button_Click(null, null);
}
}
但是当我想测试这个时,按 Enter 键没有任何反应。奇怪的是,除此之外,当按 Enter 键但按其他键时,该事件甚至不会被触发。我错过了什么吗?
这是因为,当按下某个键时,它将转到焦点位于表单上的控件,因为 Form 的 KeyPreview 属性默认设置为 False。你像这样改变事件
更改为 KeyUP 事件,
private void txtSearchID_Keyup(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter && !txtSearchID.Text.Equals(string.Empty))
{
button_Click(null, null);
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)