c#中KeyPress事件无反应
刚学c#遇到键盘事件怎么没有反应?开发环境为VS2005,有如下问题:(keypreview = true)
1、一般窗体事件为:private void Form1_Load(object sender, EventArgs e),在右上角的下拉菜单就可选择。
键盘事件为:private void Form1_KeyPress(object sender, KeyPressEventArgs e),怎么在菜单里没有啊?我是用手一行行写出来的,是不是就得用手写啊?
2、有一个label1标签。代码如下:
private void Form1_KeyPress(object sender, KeyPressEventArgs e)
{
switch (e.KeyChar)
{
case (char )Keys.Back :
label1 .Text ="退格键" +(int)Keys.Back +"\n" ;
break ;
case (char)Keys.Tab:
label1.Text = "Tab键" + (int)Keys.Tab + "\n" ;
break;
case (char)Keys.Enter:
label1.Text = "回车键键" + (int)Keys.Enter + "\n";
break;
case (char)Keys.Space:
label1.Text = "空格键" + (int)Keys.Space + "\n" ;
break;
default :
label1.Text = e.KeyChar + ":" + (int)e.KeyChar + "\n" ;
break;
}
}
在键盘上按下如上键之后,应该在label1标签上出现相应的提示,可是怎么什么反应也没有啊?这是怎么回事?我是少了哪个步骤了,还是哪里设置错了?
------解决方案--------------------
焦点的问题,如果你的form有个textbox控件,你的光标再textbox里,那么form的keypress是不会执行的.