在C# Winfrom 项目中,有一个from窗体和一个Panel控件。
目前from窗体和Panel控件都是全屏显示。并且在Panel控件内用于加载显示外部应用程序。
目前遇到一个问题就是按下键盘的“Esc”键,无法响应键盘的事件。
无法实现按下键盘的“Esc”键后就立即退出整个程序。
请问怎么样解决下用户按下键盘的“Esc”键后无法响应键盘的事件?
在C# Winfrom 项目中,有一个from窗体和一个Panel控件。
目前from窗体和Panel控件都是全屏显示。并且在Panel控件内用于加载显示外部应用程序。
目前遇到一个问题就是按下键盘的“Esc”键,无法响应键盘的事件。
无法实现按下键盘的“Esc”键后就立即退出整个程序。
请问怎么样解决下用户按下键盘的“Esc”键后无法响应键盘的事件?
使用下面的代码试试看
//来源: http://www.cnblogs.com/zhwl/archive/2013/06/06/3121515.html
//重写ProcessCmdKey的方法
protected override bool ProcessCmdKey(ref System.Windows.Forms.Message msg, System.Windows.Forms.Keys keyData)
{
int WM_KEYDOWN = 256;
int WM_SYSKEYDOWN = 260;
if (msg.Msg == WM_KEYDOWN | msg.Msg == WM_SYSKEYDOWN)
{
switch (keyData)
{
case Keys.Escape:
this.Close();//esc关闭窗体
break;
}
}
return false;
}