C# 窗体键盘事件 问题!

给窗体Form1添加了Form1_KeyDown事件响应键盘的上下左右按键,但是开始时需要点击一个按钮,点击之后按上下左右按键,结果是焦点在几个按钮之间来回切换,根本没有... 给窗体Form1添加了Form1_KeyDown事件响应键盘的上下左右按键,但是开始时需要点击一个按钮,点击之后按上下左右按键,结果是焦点在几个按钮之间来回切换,根本没有响应我写的按键事件。怎么解决?给Form1的构造函数加了this.KeyPreview=true;没用,也重载了
protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
return base.ProcessCmdKey(ref msg, keyData);
}
还是没用,在每个按钮的Chick事件中加this.Focus();还是没用,把每个按钮的TabStop属性设置为False依然没有。。。醉了!!!
展开
 我来答
龙的猫
推荐于2016-04-10 · TA获得超过447个赞
知道小有建树答主
回答量:562
采纳率:73%
帮助的人:268万
展开全部
你都base 了ProcessCmdKey重载不重载有什么区别

这里因为你是要响应按键 所以没办法转移focus
只能去拦截键盘消息
自己搜索下键盘钩子吧 搜一大片
拦截了方向键自己处理就好
我能想到就这个办法 大神们要是有其他简单的方法贴出来一起学习下吧
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式