Escape键关闭面板c# winforms

本文关键字:winforms Escape | 更新日期: 2023-09-27 18:03:07

如何在按escape键时关闭/隐藏panel ?

我在面板中搜索keydown事件,但不存在。

Escape键关闭面板c# winforms

面板控件无法聚焦,因此无法处理按下键事件。尝试处理父控制的按键事件或更广泛地覆盖ProcessCmdKey方法:

protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
    // your logic here. For example:
    switch (keyData)
    {
        case Keys.Escape:
             //do something
             break;
    }
    return base.ProcessCmdKey(ref msg, keyData);
}

处理Control KeyPress/KeyDown事件:

(Control)thePanel.KeyPress += new KeyPressEventHandler(ThePanel_KeyPress);
public void ThePanel_KeyPress(Object sender, KeyPressEventArgs e)
{
    if (e.KeyChar == (char)Keys.Escape) ... // Do something
}