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";
}
}
[解决办法]
是否该窗体未被激活 或者焦点在别的控件上
[解决办法]
在KeyDown中设置e.keyChar
需要窗体激活
经验之谈,这种方法很简单好用,请给分
[解决办法]
Form1_keypress
一看就知道你是copy的 keypress 实际点击窗体事件进去是KeyPress
窗体属性上方标题栏有 闪电状图标 为事件 找到KeyPress 事件 或者KeyDown事件双击即可写事件内过程
KeyDown可写如下进行判断
if (e.KeyCode == Keys.Escape)
{
}
[解决办法]
你搞个独立的窗口项目只把你这句话加进去 你看能不能进去
private void Form1_keypress(object sender, KeyPressEventArgs e)
{
弹框
}