winform的全角/半角bug

   这个问题其实网上均可以找到答案,可是不多有把这个问题讲透而且提供一个完整的解决方案的,因此写这篇文章,跟你们分享一下。函数

   bug是这样的,在winform程序中,当把光标给予输入框控件,而且输入法是中文输入法时,会出现两种问题:一、输入法是灰色的;二、输入法被默认改成全角了。bug产生的缘由,是.net framework 2.0不知道啥缘由,若发现输入法是IMEMode.OnHalf,自动将其改成IMEMode.On。.net

   网上找到的答案是在Winform的FormOnload或者构造函数中,强制将Form.IMEMode改成IMEMode.OnHalf便可,但发如今某些客户机中,发现报错了,报错的缘由是找不到该枚举。查看.net 2.0的sp版本号,发现为sp0,注册表地址:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v2.0.50727的SP子节点。咱们将.net 2.0升级为sp2.0版,发现已经能够正常运行了。orm

    因此正确的操做步骤是,先安装.net framework 2.0的sp2版,再在Winform的FormOnload或者构造函数中,强制将Form.IMEMode改成IMEMode.OnHalf,整个问题就完美解决了。form

    注意点:一、网上也有调用API去修改的,那种方法貌似在切换出中文输入法以后才起效,没有修改Form.IMEMode效果好,且无后顾之忧。二、在使用WebBrowser时,可能也会碰到被嵌入的页面中出现一样的全角/半角bug,解决方法是同样的。构造函数

相关文章
相关标签/搜索