C# - Windows 窗体中的 KeyDown 事件问题



当主窗体加载时,我正在尝试设置一个关键事件处理程序,如下所示:

private void FormMain_Load(object sender, EventArgs e)
{
    KeyDown += FormMain_KeyDown;
}

以及调用的函数:

private void FormMain_KeyDown(object sender, KeyEventArgs e)
{
    if (e.KeyCode == Keys.Escape)
    {
        // Do something.
    }
}

问题是表单对 Escapes(或我尝试过的任何其他键)没有反应。有趣的是,来自同一项目的不同表单使用类似的代码而没有任何问题。谁能告诉我我做错了什么?

窗体上有一个名为 KeyPreview 的属性,您需要将其设置为 true。然后,在按键时,您的处理程序将触发,然后控件上具有焦点的任何处理程序都将触发。

相关内容

  • 没有找到相关文章

最新更新