解决KeyCode 229(KeyData 229)的问题


在开发中遇到一个问题:

主界面继承Form的方法

protected override Boolean ProcessCmdKey(ref Message msg, Keys keyData)


用来截获输入的助记码(数字或字母),但是当输入法切换到中文状态后,输入字母时获得的keyData总是229。(非主界面没有遇到此问题,很奇怪)

在网上查了资料才知道是被输入法截流了,因此要实现在中文状态下能正常获得输入的字母,就必须把ImeMode设置为Disable。 

在主界面的构造函数中输入正面的代码就可以了。

base.ImeMode = ImeMode.Disable; // 因在中文输入法下无法截获正确英文字符,所以将输入法禁用

修改后主界面仍可切换输入法,也不影响其它界面切换输入法和中文输入。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值