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

发布于 2024-08-06 08:52:50 字数 129 浏览 11 评论 0原文

我做了一个在数据库中输入中文拼音和汉字的应用程序。 这意味着操作者必须通过ctrl+shift不断地在“拼音输入法”和“搜狗输入法”之间切换 有没有办法让 IME 在选择文本框时自动更改? 我的意思是,不是切换键盘布局,只是相同键盘布局的输入法

I did an application to enter chinese pinyin and hanzi in a database.
That means that the operator have to switch constantly between "Pinyinput" and "sogou input" with ctrl+shift
There is a way to make the IME change automaticall when a textbox is selected?
I mean, not switch the keyboard layout, just the input method of the same keyboard layout

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

假装不在乎 2024-08-13 08:52:50

试试这个,我不确定语言的名称,尝试调试它并获取正确的名称(如果它不起作用)。

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;
                        }
                }

        }

如果它不起作用,您需要将以下行更改为正确的语言名称:

CName.StartsWith("langName")

try this, I'm not sure about the name of the languages, try to debug it and get the right name if it didn't work.

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;
                        }
                }

        }

if it didn't work, you need to change the following line to the correct lang name:

CName.StartsWith("langName")
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文