sxl_88 2015-02-13 11:56 采纳率: 50%
浏览 2793
已采纳

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

在C# Winfrom 项目中,有一个from窗体和一个Panel控件。
目前from窗体和Panel控件都是全屏显示。并且在Panel控件内用于加载显示外部应用程序。

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

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

  • 写回答

2条回答 默认 最新

  • msmvc 2015-02-25 03:37
    关注

    使用下面的代码试试看
    //来源: 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;
    }

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 LiBeAs的带隙等于0.997eV,计算阴离子的N和P
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
  • ¥15 来真人,不要ai!matlab有关常微分方程的问题求解决,
  • ¥15 perl MISA分析p3_in脚本出错
  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误
  • ¥199 rust编程架构设计的方案 有偿
  • ¥15 回答4f系统的像差计算