KeyDown事件不起作用
本文关键字:不起作用 事件 KeyDown | 更新日期: 2023-09-27 18:22:33
我需要它(在WinForm上),如果按下键a,就会触发事件。我从MSDN站点得到了以下代码:
private void Form1_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode != Keys.A)
{
MessageBox.Show("Key 'a' was pressed.");
}
}
问题是这个代码对我不起作用,没有错误消息,但如果我在表单上并按下A键,就不会触发任何事件。我尝试使用断点,但它从未进入if
。
这里有什么问题?
您需要将Form.KeyPreview属性设置为True
。此属性获取或设置一个值,该值指示在将事件传递给具有焦点的控件之前,窗体是否会接收键事件。
还要注意,您的代码中有一个错误;根据您的消息,您需要验证是否为e.KeyCode == Keys.A
。