這個問題其實網上均可以找到答案,可是不多有把這個問題講透而且提供一個完整的解決方案的,因此寫這篇文章,跟你們分享一下。函數
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,解決方法是同樣的。構造函數