黑马程序员技术交流社区
标题:
winform panel添加一个button按钮 窗体的KeyDown事件不执行了
[打印本页]
作者:
〆、单曲循环
时间:
2013-12-19 09:07
标题:
winform panel添加一个button按钮 窗体的KeyDown事件不执行了
load事件中添加button代码:
///开始按钮
Button btnStart = new Button();
btnStart.Text = "开始";
btnStart.Size = new Size(80, 30);
btnStart.Location = new Point((pl.Size.Width - btnStart.Size.Width) / 2, (pl.Size.Height - btnStart.Size.Height) / 2);
btnStart.Click += Start_Click;
//pl.Controls.Add(btnStart);
复制代码
formKeyDown 事件中 第一行代码为MessageBox.Show(e.KeyValue.Tostring());
这两个事件应该没关系才对啊 怎么会冲突的
作者:
诱惑灵魂
时间:
2013-12-19 21:36
原因是由于窗体中添加了控件,于是焦点就在其中一个控件上,如果要处理的事件窗体和获取焦点的控件都同时拥有,系统就会将键盘的操作键值直接传递给这个获取焦点的控件。就出现你这种问题了
解决:获取或设置一个值,该值指示在将键事件传递到具有焦点的控件前,窗体是否将接收此键事件。
如果窗体将接收所有键事件,则为 true;如果窗体上当前选定控件接收键事件,则为 false。默认为 false。
作者:
〆、单曲循环
时间:
2013-12-20 08:36
诱惑灵魂 发表于 2013-12-19 21:36
原因是由于窗体中添加了控件,于是焦点就在其中一个控件上,如果要处理的事件窗体和获取焦点的控件都同时拥 ...
KeyPreview属性设为true后所有的字符都是可以出发KeyDown事件的 但是上下左右键不可以 已找到解决办法 还是谢谢童鞋的回答
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2