C# winform中咋实现当文本框获得焦点时,如何切换到中文输入法或英文输入法啊?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C# winform中咋实现当文本框获得焦点时,如何切换到中文输入法或英文输入法啊?相关的知识,希望对你有一定的参考价值。
提供一点思路给楼主吧:使用 InputLanguage.InstalledInputLanguages 可以得到当前安装的所有输入法;
使用 InputLanguage.CurrentInputLanguage 可以设置/获取当前激活的输入法;
使用 InputLanguage.FromCulture 可以返回指定语言对应的输入法对象(这个输入法对象可以用来设置上面的CurrentInputLanguage),比如:InputLanguage.FromCulture(CultureInfo.GetCultureInfo("zh-CN")) 可以返回一个中文输入法对象,而InputLanguage.FromCulture(CultureInfo.GetCultureInfo("en-US")) 则可以返回一个英文输入法对象;
不过我没有试过如果当前系统安装了多个中文输入法,FromCulture这个方法会具体返回哪个…… 参考技术A
使用 InputLanguage.InstalledInputLanguages 可以得到当前安装的所有输入法。
使用 InputLanguage.FromCulture 可以返回指定语言对应的输入法对象(这个输入法对象可以用来设置上面的CurrentInputLanguage),比如:InputLanguage.FromCulture(CultureInfo.GetCultureInfo("zh-CN")) 可以返回一个中文输入法对象,而InputLanguage.FromCulture(CultureInfo.GetCultureInfo("en-US")) 则可以返回一个英文输入法对象。
参考技术B 输入法切换不了可以是病毒的原因造成的,也可能是程序的原因造成输入法切换不了,还有可能就是操作的错误造成输入法切换不了解决方案:
如果是操作原因造成输入法切换不了,直接用CTRL SHIFT无法切换输入法任务栏上的输入法图标上点右键选择设置。然后选择键设置,双击第一个“在不同的输入语言之间切换”先勾选“切换输入语言”下面选择左手ALT。取消右边“切换键盘布局”前的勾。然后进入“中文(简体)输入法 - 输入法/非输入法切换”,取消“启用按键顺序”前的勾。一路都确定后推出设置。再次进入设置,进入“在不同的输入语言之间切换”,把右边那个打上勾。确定后退出。
如果是病毒的原因造成输入法切换不了,下载金山毒霸(免费)卡巴斯基(收费)等高质量杀毒软件对电脑杀毒即可解决这个问题! 参考技术C 文本框有个属性叫 ImeMode 可以控制。包括全角、半角都可以
C# WinForm 文本框离开焦点事件 问题???
如果两次密码输入不一致,文本框离开焦点弹出提示,这个界面上有个取消按钮
当密码输入不一致时点击取消按钮,它还是谈出提示怎么解决??
可以规避,只是不太好。焦点离开文本框后不马上执行弹出提示窗口,而是启动一个100ms的定时器,速度也很快了。定时器结束后再去执行。执行代码那设个变量控制,按钮那也要有这个变量。
即:点按钮后,触发焦点离开事件,等100ms执行,此时应该执行按钮点击事件了,在那里将标志改掉。等定时器结束后,去执行弹出窗口,发现标志不符合弹窗口条件,就不弹出来了。
你可以试试。我没.net环境,所以没法测 参考技术A
leave 事件
参考技术B 1、第二个密码框失去焦点事件2、在事件内加判断(密码是否一致)并提示3、取消按钮事件加提示 参考技术C 在离开焦点的触发事件中增加判断 参考技术D 你将提示代码写在文本框的leave事件里面以上是关于C# winform中咋实现当文本框获得焦点时,如何切换到中文输入法或英文输入法啊?的主要内容,如果未能解决你的问题,请参考以下文章