我用你的代码试了,是好使的.
因为comboBox你做了筛选,所以comboBox的id和 InputLanguage的id是对不上的
你把后面的改成这样试试
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
InputLanguageCollection ilc = InputLanguage.InstalledInputLanguages;
foreach (InputLanguage il in ilc)
{
if (il.LayoutName.Contains(comboBox1.Text))
{
InputLanguage.CurrentInputLanguage = il;
this.richTextBox1.Text = il.LayoutName;
}
}
void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
//用SelectedItem 属性,你那个SelectedIndex会有问题
InputLanguage a = this.comboBox1.SelectedItem as InputLanguage;
if (a != null)
{
InputLanguage.CurrentInputLanguage = a;
}
}