永发信息网

C# 窗体键盘事件 问题!

答案:2  悬赏:0  手机版
解决时间 2021-03-12 01:01
给窗体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依然没有。。。醉了!!!
最佳答案
你都base 了ProcessCmdKey重载不重载有什么区别

这里因为你是要响应按键 所以没办法转移focus
只能去拦截键盘消息
自己搜索下键盘钩子吧 搜一大片
拦截了方向键自己处理就好
我能想到就这个办法 大神们要是有其他简单的方法贴出来一起学习下吧
全部回答
此类问题注意要点键盘事件的触发条件。当form的keypreview属性为false的时候(默认),只有获得焦点的控件才能接收键盘事件,而设置为true,则任何时候form本身都可以接收事件。所以通常可以把此属性设置为true,然后所有键盘事件都写在form_keydown里面。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
顺丰慢件从西安到乌鲁木齐的运费
请问去大连森林动物园怎么走?票价是多少?
过滤这项基本操作是初中实验加试的考查项目,
电脑上安卓模拟器使用时速度是不是比手机上使
里岔镇地址有知道的么?有点事想过去
学校社会工作者小王发现他所服务的小学里有高
在营口市市内哪里能买到体育用品
眉山有直到金堂的车吗
新鲜芦荟叶子怎么使用?
上海凤宝毛巾厂我想知道这个在什么地方
诺曼底登陆是第二次世界大战的著名战役,其登
衣服均号是多少码?或者说大概在什么范围
直姓在中国起源在那?现居在何地?
哪些贸易术语可以适应任何运输方式
用油膜法测定油分子的直径的实验中,体积为V
推荐资讯
给一个不熟的男生表了白,我俩一直不是朋友关
intent:#Intent;S.K_1171477665=7C7B93DCA54F
漂亮的女人适合做老婆吗?
宿迁金科装饰工程有限公司地址有知道的么?有
【田横五百士】《田横五百士》属于以下哪个画
在新的学校里,有很多新的面孔随着时间推移能
san luis potosí 是港口吗
【资的组词】资字怎么组词
红菇多少钱一斤
无花果施什么肥料好我种了一颗无花果树老长不
86黑暗武士怎么点不了二觉
《古风》的译文
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?