首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

vs2010 窗体响应键盘事件,没反应解决方法

2013-08-09 
vs2010 窗体响应键盘事件,没反应是这样的,我已经通过程序实现将某控件全屏显示。然后,我想通过按下“esc”键,

vs2010 窗体响应键盘事件,没反应
是这样的,我已经通过程序实现将某控件全屏显示。然后,我想通过按下“esc”键,使窗体还原。事先,已经将窗体的KeyPreview属性设置为true。代码:


private void Form1_keypress(object sender, KeyPressEventArgs e)
        {
            if (Chr(e.KeyChar)==Keys.Escape.ToString())
            {
                splitContainer1.SplitterDistance = 220;
                控件1.Height = splitContainer1.Panel2.Height;
                menuStrip1.Show();
            }
        }
        public static string Chr(int ascii)
        {
            if (ascii >= 1 && ascii <= 255)
            {
                ASCIIEncoding asciiEncoding = new ASCIIEncoding();
                byte[] byteArray = new byte[] { (byte)ascii };
                string str = asciiEncoding.GetString(byteArray);
                return (str);
            }
            else
            {
                return "1";
            }
        }

问题是,我按下键,该事件不响应。 Visual?Studio?2010 窗体?响应键盘事件


[解决办法]
是否该窗体未被激活 或者焦点在别的控件上
[解决办法]
在KeyDown中设置e.keyChar
需要窗体激活
经验之谈,这种方法很简单好用,请给分
[解决办法]
Form1_keypress

一看就知道你是copy的   keypress   实际点击窗体事件进去是KeyPress 

窗体属性上方标题栏有 闪电状图标 为事件   找到KeyPress 事件  或者KeyDown事件双击即可写事件内过程
KeyDown可写如下进行判断
if (e.KeyCode == Keys.Escape)
{

}
[解决办法]
你搞个独立的窗口项目只把你这句话加进去 你看能不能进去
private void Form1_keypress(object sender, KeyPressEventArgs e)
        {
            弹框
        }

热点排行