C# winform中咋实现当文本框获得焦点时,如何切换到中文输入法或英文输入法啊?

2024-12-19 17:41:42
推荐回答(4个)
回答1:

提供一点思路给楼主吧:

使用 InputLanguage.InstalledInputLanguages 可以得到当前安装的所有输入法;
使用 InputLanguage.CurrentInputLanguage 可以设置/获取当前激活的输入法;
使用 InputLanguage.FromCulture 可以返回指定语言对应的输入法对象(这个输入法对象可以用来设置上面的CurrentInputLanguage),比如:InputLanguage.FromCulture(CultureInfo.GetCultureInfo("zh-CN")) 可以返回一个中文输入法对象,而InputLanguage.FromCulture(CultureInfo.GetCultureInfo("en-US")) 则可以返回一个英文输入法对象;

不过我没有试过如果当前系统安装了多个中文输入法,FromCulture这个方法会具体返回哪个……

回答2:

使用 InputLanguage.InstalledInputLanguages 可以得到当前安装的所有输入法。

使用 InputLanguage.FromCulture 可以返回指定语言对应的输入法对象(这个输入法对象可以用来设置上面的CurrentInputLanguage),比如:InputLanguage.FromCulture(CultureInfo.GetCultureInfo("zh-CN")) 可以返回一个中文输入法对象,而InputLanguage.FromCulture(CultureInfo.GetCultureInfo("en-US")) 则可以返回一个英文输入法对象。

回答3:

输入法切换不了可以是病毒的原因造成的,也可能是程序的原因造成输入法切换不了,还有可能就是操作的错误造成输入法切换不了

解决方案:
如果是操作原因造成输入法切换不了,直接用CTRL SHIFT无法切换输入法任务栏上的输入法图标上点右键选择设置。然后选择键设置,双击第一个“在不同的输入语言之间切换”先勾选“切换输入语言”下面选择左手ALT。取消右边“切换键盘布局”前的勾。然后进入“中文(简体)输入法 - 输入法/非输入法切换”,取消“启用按键顺序”前的勾。一路都确定后推出设置。再次进入设置,进入“在不同的输入语言之间切换”,把右边那个打上勾。确定后退出。
如果是病毒的原因造成输入法切换不了,下载金山毒霸(免费)卡巴斯基(收费)等高质量杀毒软件对电脑杀毒即可解决这个问题!

回答4:

文本框有个属性叫 ImeMode 可以控制。包括全角、半角都可以