如何在按panel
键的同时关闭/隐藏escape
?
我在 面板 中搜索了keydown
事件,但它不存在。
答案 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
}