keypress,keydown,keyup事件必须要获得焦点?
这些事件都是对于键盘的 获得焦点是指这类型的事件对于某个控件而发生!
我知道你的意思是当运行程序时按下某个键就相当于点击了某个按钮,对吧?
那么,这个keypress事件就不应该写在这个按钮上面,而是要写在form上面。
如:
private void frm_test_show_KeyPress(object sender, KeyPressEventArgs e)
{
if ((Keys)e.KeyChar == Keys.Escape) {
button2_Click(sender,e);
}
}
这样就是在frm_test_show窗体运行时如果按下ESC键就相当于点击了button2
另外需要将该窗体的keypreview属性设置为true!!!
至于虚线框的问题 应该参考System.Windows.Forms下对应的控件类然后自己重写一个! 貌似C#不是开源的?这个我不太清楚向来喜欢java 导入一个包所有元数据都一览无余!
试试将窗体的KeyPreview属性改成true,然后在form的keypress,keydown,keyup里面写就可以了
发现搞IT的人极不厚道,这么高深的问题,竟然连个分都不给~~~
太打击了~~ 还是路过算了~~~
这个问题有点难度。