逃生键关闭面板c#winforms

时间:2015-07-17 11:39:59

标签: c# .net winforms

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

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

2 个答案:

答案 0 :(得分:2)

面板控制无法集中,因此您无法处理按键事件。 尝试处理父控件的关键事件或以更广泛的方式覆盖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);
}

答案 1 :(得分:2)

处理控制 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
}