今天在使用winform 界面keydown事件的时候发现无法触发。
private void LoginForm_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter) {
m_loginBtn.PerformClick();
}
}
解决方案:需要将窗体的 KeyPreview属性设置为true ,将系统传入的键值先传递给窗体,再传递给控件。MSDN关于KeyPreview的说明:如果窗体将接收所有键事件,为 true;如果窗体上当前选定控件接收键事件,则为 false。默认为 false