实践是检验真理的唯一标准,fangqm.cn原创关于C#输入法控制
想实现输入法切换:思路,找出当前系统所有输入法总个数,当前输入法在总输入法中的索引,通过改变索引值,来切换输入法
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];
}
调用input方法就OK了
如果想把状态加到comboxedit控件中
///
/// 初始化输入法状态
///
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;
}
ime.JPG
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/23109131/viewspace-630576/
,如需转载,请注明出处,否则将追究法律责任。