c# 按钮关联键盘按键

我想将windows程序按钮控件关联到键盘上,按键盘上的建就触发按钮单击事件,但是keypress,keydown,keyup事件必须要获得焦点,如何不获得焦点就能触发事... 我想将windows程序按钮控件关联到键盘上,按键盘上的建就触发按钮单击事件,但是keypress,keydown,keyup事件必须要获得焦点,如何不获得焦点就能触发事件呢,还有怎么隐藏焦点的虚线框。
最好有代码
这个问题很难吗??
展开
 我来答
haoma2514
推荐于2018-05-06 · TA获得超过383个赞
知道小有建树答主
回答量:250
采纳率:0%
帮助的人:193万
展开全部
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 导入一个包所有元数据都一览无余!
百度网友f43968375
2009-09-23 · TA获得超过434个赞
知道小有建树答主
回答量:591
采纳率:0%
帮助的人:522万
展开全部
试试将窗体的KeyPreview属性改成true,然后在form的keypress,keydown,keyup里面写就可以了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
伍澈88
2009-09-23 · TA获得超过267个赞
知道小有建树答主
回答量:493
采纳率:0%
帮助的人:142万
展开全部
发现搞IT的人极不厚道,这么高深的问题,竟然连个分都不给~~~
太打击了~~ 还是路过算了~~~
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yueycy1989
2009-09-23 · TA获得超过511个赞
知道小有建树答主
回答量:687
采纳率:100%
帮助的人:282万
展开全部
这个问题有点难度。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式