日期:2014-05-17  浏览次数:20953 次

C# 按Esc键后自动退出,不知道为什么代码没反应
想要做一个Esc按键的响应事件,但不知道为什么所写的代码一点反应也没有
已将Form_KeyPress和窗体的keypress关联,且运行时没有出现报错;
具体代码如下:
  private void Form1_KeyPress(object sender, KeyPressEventArgs e)
  {
  if (e.KeyChar==(char)027)
  {
  this.Close();
  }
  }
也试过写成窗体的keydown事件,但依旧没反应

望各位大大赐教,最好写的简单易懂点,本人新手小白

------解决方案--------------------
断点调试.

按下按钮后看进那个事件了么。

再看强制转换的027和e.KeyChar相等不。
------解决方案--------------------
设置Form的KeyPreview为true了吗?
------解决方案--------------------
探讨
设置Form的KeyPreview为true了吗?

------解决方案--------------------
你看看事件上是怎么写的 需要焦点! 你的窗体运行时默认是没有焦点的 并且你也无法获取这个焦点。所以你按键是无法触发事件的。你可以啦个按钮之类的东西 你让它有焦点 然后再试试这个事件 就可以用 关键在于焦点, 做这种东西大多用win API 的键盘钩子来做
------解决方案--------------------
探讨

设置Form的KeyPreview为true了吗?