KeyDown事件不起作用

时间:2015-11-19 14:04:15

标签: c# winforms keydown

如果按下 A 键,我需要(在WinForm上),触发事件。 我从MSDN网站获得了这段代码:

private void Form1_KeyDown(object sender, KeyEventArgs e)
{
     if (e.KeyCode != Keys.A)
     {
          MessageBox.Show("Key 'a' was pressed.");
     }
}

问题是这段代码对我不起作用,没有错误信息,但如果我在表单上并按下键 A ,则不会触发任何事件。我试图使用断点,但它永远不会进入if

这里有什么问题?

1 个答案:

答案 0 :(得分:2)

您需要将Form.KeyPreview属性设置为True。此属性获取或设置一个值,该值指示在将事件传递给具有焦点的控件之前表单是否将接收键事件。

另请注意,您的代码中存在错误;根据您的消息,您需要验证e.KeyCode == Keys.A