C#中如何取消方向键对Button控件焦点的控制?

如题我已经定义了按下方向键时目标对象的行为,但是运行后,按下方向键的时候只有Button的焦点在切换,定义了键盘事件的目标对象反倒是没有任何动作,因此想找办法取消掉方向键... 如题

我已经定义了按下方向键时目标对象的行为,但是运行后,按下方向键的时候只有Button的焦点在切换,定义了键盘事件的目标对象反倒是没有任何动作,因此想找办法取消掉方向键对Button的控制

请大虾们帮帮忙,谢谢了
展开
 我来答
落日狂想
2011-05-19 · TA获得超过517个赞
知道小有建树答主
回答量:287
采纳率:0%
帮助的人:338万
展开全部
如果光是想Button不接受焦点,把Button的属性TabStop改成False应该可以。
但是你所说的问题最好不要这样解决,应该调整你对键盘事件响应的时机。
实在不行,可以重写WndProc函数
更多追问追答
追问
把button的tabstop设置为false这个方法我昨天就试了,把所有按钮的tabstop都设置成false了还是不行;
还有落日桑你原来是学计算机的啊=w=
追答
算是吧~家里电脑没空间把VS2008卸载了,不能测试。
可以试试看这样:
1、注册Button的Focused事件,获取焦点时干些事情~
2、用容器把你要响应键盘事件的控件与Button分离开~
3、如果是窗体的话,继承Form类,重写OnKeyDown等键盘事件~
4、写WndProc函数 ~
明天工作时我试试~
zntwins
2011-05-19 · 超过29用户采纳过TA的回答
知道答主
回答量:51
采纳率:0%
帮助的人:79.5万
展开全部
你确定你对方向键的按键响应事件被正确执行了么?如果要取消按键的对Button的焦点切换就要重写Form的WndProc函数,不过感觉你的问题不在这里。
追问
我试过把Button改成Label,同样的代码,按键响应事件可以正确执行,程序基本上是没有问题的;但是换成Button就不行了……
追答
把你的代码发过来给我看看吧,QQ20674210
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式