来源:http://blog.itpub.net/23109131/viewspace-630576
想实现输入法切换:思路,找出当前系统所有输入法总个数,当前输入法在总输入法中的索引,通过改变索引值,来切换输入法
void input() {//变全角为半角的输入状态this.ImeMode = ImeMode.KatakanaHalf;//获取总输入法个数int c = InputLanguage.InstalledInputLanguages.Count; //获取当前输入法语言在所有输入法中的索引值int index= InputLanguage.InstalledInputLanguages.IndexOf(InputLanguage.CurrentInputLanguage);index++;//表示下一个输入法索引if (index == c){// 如果当前索引值和总输入法个数相同,让索引从头开始index = 0;} //设置当前输入法 InputLanguage.CurrentInputLanguage = InputLanguage.InstalledInputLanguages[index]; }
如果想把状态加到comboxedit控件中
/// <summary>/// 初始化输入法状态/// </summary>void InitIme(){this.cbxIme.ImeMode = ImeMode.Off;//获取所有己安装的输入法InputLanguageCollection ilc = InputLanguage.InstalledInputLanguages;foreach (InputLanguage item in ilc){this.cbxIme.Properties.Items.Add(item.LayoutName);}this.cbxIme.SelectedIndex = 0;//切换系统输入法this.cbxIme.SelectedIndexChanged += new EventHandler(cbxIme_SelectedIndexChanged);}//切换系统输入法void cbxIme_SelectedIndexChanged(object sender, EventArgs e){//得到输入法InputLanguage ime = InputLanguage.InstalledInputLanguages[cbxIme.SelectedIndex];//设置输入法InputLanguage.CurrentInputLanguage = ime;}