C#窗体,控件的跳转问题 在窗体上,按向左、向右等方向键,光标会在窗体上的控件跳转,想屏蔽这个功能。哪位大侠能帮忙指导下 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 就控件的 TabStop 属性设置为 False 楼上说的都不行的,只对Tab键有效,对方向键无效的 就控件的 TabStop 属性设置为 False说得太对了,我也学习了,很常用的一个效果 真的不行,就在窗体的接收KeyDown中,来屏蔽方向建 TabStop 属性设置为 False 同意 通常来说,要对某个控件进行按键屏蔽,可以处理KeyPress事件,将KeyEventArgs.Handled属性设为true;或是重载PreProcessMessage函数。 若要是屏蔽Dialog字符的话,可以重载Control.ProcessDialogKey函数。 若要对整个程序进行按键屏蔽,可以创建程序级的Hook,或是对所有的控件都加上一个KeyPress事件处理函数。 如果我没理解错的话,LZ说的控件光标指的是Focus吗?如果是Focus,那么就能用Button来测试了弄两个Button在Form里,就能看到方向键使得Focus在两个Button上切换,无论设置TabStop为False还是在窗体中接收KeyDown,都不能屏蔽 我这是样写的 public override bool PreProcessMessage(ref Message msg) { if(msg.Msg == 0x100) //避免移动方向键时跳出控件 { if(msg.WParam != new IntPtr(9)) //Tab键排除 return false; } return base.PreProcessMessage(ref msg); } 我测试过了,在按钮的keydown和keyup事件或keypress事件中写代码是不能屏蔽上下左右按键的。其他的按键是可以的,那么这样的话,就只能用hook技术来屏蔽了。 【十万火急】使用GDI+绘图new Bitmap()的时候出错 高分求电子教程,顶也有分! 关于C#里的TreeView 如何读写App.config文件? 我想使用第三方的控件,怎么做? 获取汉语拼音组件,按拼音查找汉字?? 如何将一个字符串转换数据流? 如何在前台显示图片?已经将数据类型为IMAGE的字段IMG取出,三层结构MODEL中的对应着定义的为IMAGE ,前台如何显示出图片?在线等候 关于C#创建包的步骤 两个表的内容,如何填充到一个datagrid? 请教一个ArrayList的问题? 2个HttpWebResponse 之间公用一个CookieContainer问题
说得太对了,我也学习了,很常用的一个效果
属性设置为 False
同意
如果是Focus,那么就能用Button来测试了
弄两个Button在Form里,就能看到方向键使得Focus在两个Button上切换,无论设置TabStop为False还是在窗体中接收KeyDown,都不能屏蔽
public override bool PreProcessMessage(ref Message msg)
{
if(msg.Msg == 0x100) //避免移动方向键时跳出控件
{
if(msg.WParam != new IntPtr(9)) //Tab键排除
return false;
}
return base.PreProcessMessage(ref msg);
}