C# Winfrom项目,怎么实现Panel控件响应键盘事件
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);
}
在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);
}