
C# 切换输入法
comboBox1获取系统安装的所有拼音输入法,根据选择控制当前输入法,目前的做法会导致当前输入法与实际选择的不一致,不知道哪位能帮忙提出修改办法,感激不尽!privat...
comboBox1获取系统安装的所有拼音输入法,根据选择控制当前输入法,目前的做法会导致当前输入法与实际选择的不一致,不知道哪位能帮忙提出修改办法,感激不尽!
private void Form1_Load(object sender, EventArgs e)
{
InputLanguageCollection ilc = InputLanguage.InstalledInputLanguages;//获取系统已安装输入法
foreach (InputLanguage il in ilc )//将系统输入法添加到下拉菜单中
{
if(il.LayoutName.Contains("拼音"))
comboBox1.Items.Add(il.LayoutName);
}
comboBox1.SelectedIndex = InputLanguage.InstalledInputLanguages.IndexOf(InputLanguage.CurrentInputLanguage); //当前输入法
}
//根据下拉菜单的变化,切换系统输入法,并在文本框显示输入法名字
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
InputLanguage il = InputLanguage.InstalledInputLanguages[comboBox1.SelectedIndex];
InputLanguage.CurrentInputLanguage = il;
this.richTextBox1.Text = il.LayoutName;
} 展开
private void Form1_Load(object sender, EventArgs e)
{
InputLanguageCollection ilc = InputLanguage.InstalledInputLanguages;//获取系统已安装输入法
foreach (InputLanguage il in ilc )//将系统输入法添加到下拉菜单中
{
if(il.LayoutName.Contains("拼音"))
comboBox1.Items.Add(il.LayoutName);
}
comboBox1.SelectedIndex = InputLanguage.InstalledInputLanguages.IndexOf(InputLanguage.CurrentInputLanguage); //当前输入法
}
//根据下拉菜单的变化,切换系统输入法,并在文本框显示输入法名字
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
InputLanguage il = InputLanguage.InstalledInputLanguages[comboBox1.SelectedIndex];
InputLanguage.CurrentInputLanguage = il;
this.richTextBox1.Text = il.LayoutName;
} 展开
3个回答
展开全部
因为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;
}
}
你把后面的改成这样试试
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;
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询