c# - Esc键事件不会在winforms中被触发

标签 c# winforms events

我的 Esc 键事件似乎没有被触发。

我有两种形式。

在form1按钮点击事件

Form2 frm2 = new Form2();
frm2.show();

在表格 2 中,我有一个名为

的事件
    private void frm2_KeyDown(object sender, KeyEventArgs e)
    {
        if (e.KeyCode == Keys.Escape)
        this.Hide();

    }

这是怎么回事?

最佳答案

如果焦点在子控件中,则需要设置

frm2.KeyPreview = true;

在表单的事件处理程序中处理关键事件。

或在表单的加载事件处理程序或构造函数中:

this.KeyPreview = true;

关于c# - Esc键事件不会在winforms中被触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1388917/

相关文章:

winforms - 延迟数据绑定(bind)

c# - 键盘处理程序中的输入/返回键出现问题

c# - 垃圾收集器和事件处理程序

c# - 文本框上的火灾事件失去焦点

c# - 标有 TestInitialize 和 TestCleanup 的类未执行

c# - 在 Visual Studio 2013 中,断点栏中的这个黑色箭头形符号是什么意思?

c# - 使用 DrawString() 时出现 GDI+ 异常

c# - 所选 ListView 项目的数量?

c# - WCF 中 MustUnderstand 属性的用途是什么?

c# - 在C#中,有没有办法始终如一地获取当前焦点窗口的选定文本内容?