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

这里有什么问题?

KeyDown事件不起作用

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

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