对于一个WinForm窗体,要想在打开后按Enter键或者Esc键应用或者关闭,可以采取下面的方法:
第一种:此类窗体一般会有“确定”、“取消”、“关闭”等类似按钮,那么就可以在窗体的属性当中把AcceptButton设置为你想在按下回车键采取一样操作的按钮;设置CancelButton为按下ESC键所要实现的操作;此外可以把AcceptButton键的TabIndex设置为0,这样空格键可以实现和回车键一样的效果;
第二种:关闭窗体的情况,要是窗体不存在按钮,只是用红叉关闭窗体,那么可以放一个按钮,设置为隐藏,转为第一种方式;此外还可以重写一个方法,方法如下:(声明:该方法转自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; }
转载于:https://blog.51cto.com/hansong007/1328384