C# 按键关闭事件不起作用

C# 按键关闭事件不起作用,c#,winforms,keydown,C#,Winforms,Keydown,我需要它(在WinForm上),如果按下a键,就会触发一个事件。 我从MSDN站点获得了以下代码: private void Form1_KeyDown(object sender, KeyEventArgs e) { if (e.KeyCode != Keys.A) { MessageBox.Show("Key 'a' was pressed."); } } 问题是这段代码对我不起作用,没有错误消息,但如果我在表单上并按A键,则不会触发任何事

我需要它(在WinForm上),如果按下a键,就会触发一个事件。 我从MSDN站点获得了以下代码:

private void Form1_KeyDown(object sender, KeyEventArgs e)
{
     if (e.KeyCode != Keys.A)
     {
          MessageBox.Show("Key 'a' was pressed.");
     }
}
问题是这段代码对我不起作用,没有错误消息,但如果我在表单上并按A键,则不会触发任何事件。我尝试使用断点,但它从未进入
if

这里有什么问题?

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


还要注意,代码中有一个错误;根据您的消息,您需要验证
e.KeyCode==Keys.A

是否正确,至少有某种形式的响应。但如果我按A键,则不会显示消息框。相反,如果我按空格键,则会显示消息框。这是因为您的if语句要求这样做。如果
e.KeyCode不等于Keys.A
。@KDecker哦,天哪,我真傻。谢谢你的回复!首先,你有
=
,这意味着正在查找一个不是
键的键。a
。此外,您可能还必须将此函数添加到表单的keydown事件中(您可以使用设计器)。