c# 按钮关联键盘按键
我想将windows程序按钮控件关联到键盘上,按键盘上的建就触发按钮单击事件,但是keypress,keydown,keyup事件必须要获得焦点,如何不获得焦点就能触发事...
我想将windows程序按钮控件关联到键盘上,按键盘上的建就触发按钮单击事件,但是keypress,keydown,keyup事件必须要获得焦点,如何不获得焦点就能触发事件呢,还有怎么隐藏焦点的虚线框。
最好有代码
这个问题很难吗?? 展开
最好有代码
这个问题很难吗?? 展开
4个回答
展开全部
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 导入一个包所有元数据都一览无余!
这些事件都是对于键盘的 获得焦点是指这类型的事件对于某个控件而发生!
我知道你的意思是当运行程序时按下某个键就相当于点击了某个按钮,对吧?
那么,这个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的人极不厚道,这么高深的问题,竟然连个分都不给~~~
太打击了~~ 还是路过算了~~~
太打击了~~ 还是路过算了~~~
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个问题有点难度。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询