C#-自动在同一键盘布局中的两个不同输入法之间切换

C#-自动在同一键盘布局中的两个不同输入法之间切换,c#,localization,cjk,ime,C#,Localization,Cjk,Ime,我做了一个在数据库中输入汉语拼音和汉字的应用程序。 这意味着操作员必须使用ctrl+shift在“拼音输入”和“搜狗输入”之间不断切换 当选择文本框时,有没有一种方法可以使IME更改自动调用? 我的意思是,不切换键盘布局,只切换相同键盘布局的输入法试试这个,我不确定语言的名称,试着调试它,如果它不起作用,就得到正确的名称 public void ToPinyinput() { string CName= ""; fo

我做了一个在数据库中输入汉语拼音和汉字的应用程序。 这意味着操作员必须使用ctrl+shift在“拼音输入”和“搜狗输入”之间不断切换 当选择文本框时,有没有一种方法可以使IME更改自动调用?
我的意思是,不切换键盘布局,只切换相同键盘布局的输入法试试这个,我不确定语言的名称,试着调试它,如果它不起作用,就得到正确的名称

public void ToPinyinput()
        {
                string CName= "";
                foreach(InputLanguage lang in InputLanguage.InstalledInputLanguages) 
                {
                        CName = lang.Culture.EnglishName.ToString();

                        if(CName.StartsWith("Pinyinput"))
                        {
                                InputLanguage.CurrentInputLanguage = lang;
                        }
                }

        }


public void Tosogou()
        {
                string CName= "";
                foreach(InputLanguage lang in InputLanguage.InstalledInputLanguages) 
                {
                        CName = lang.Culture.EnglishName.ToString();

                        if(CName.StartsWith("sogou"))
                        {
                                InputLanguage.CurrentInputLanguage = lang;
                        }
                }

        }
如果不起作用,则需要将以下行更改为正确的lang名称:

CName.StartsWith("langName")

此代码正在运行,谢谢!但它只能在语言之间切换,不能在同一语言(文化)的输入方法之间切换更改CName=lang.culture.EnglishName.ToString();使用CName=lang.LayoutName.ToString();代码是完美的!非常感谢。