当前位置: 代码迷 >> C# >> C# Winfrom项目,怎么实现Panel控件响应键盘事件
  详细解决方案

C# Winfrom项目,怎么实现Panel控件响应键盘事件

热度:56   发布时间:2016-05-05 04:48:48.0
C# Winfrom项目,如何实现Panel控件响应键盘事件
在C# Winfrom 项目中,有一个from窗体和一个Panel控件。
目前from窗体和Panel控件都是全屏显示。并且在Panel控件内用于加载显示外部应用程序。

目前遇到一个问题就是按下键盘的“Esc”键,无响应键盘的事件。
无法实现按下键盘的“Esc”键后就即立退出整个程序。

请问怎么样解决用户按下键盘的“Esc”键后无法响应键盘的事件?

------解决思路----------------------
可以注册全局热键,这样可以实现你的需求
------解决思路----------------------
Form和Panal都有Key事件,你需要哪个注册一下然后判断ESC是否被按下按下的话就Exit
------解决思路----------------------
重载ProcessCmdKey(ref Message msg,Keys keyData)方法,判断按下的键是不是Esc,如果是,就做出对应的处理方法:

protected override bool ProcessCmdKey(ref Message msg,Keys keyData)
{
         if(keyData == Keys.Escape)
         {
                  this.Close();
         }
         return base.ProcessCmdKey(ref msg,keyData);
}
  相关解决方案