0

我正在制作多语言打字导师,并想从代码中更改输入语言,但语言不在语言栏上(它们安装在操作系统中,但我在语言栏中只显示英语)我尝试了以下代码,但它没有不行。。

System.Globalization.CultureInfo my_culture = new System.Globalization.CultureInfo("fr-FR");
InputLanguage c = InputLanguage.FromCulture(my_culture);
InputLanguage.CurrentInputLanguage = c;

请注意,我不希望最终用户首先在语言栏中获取这些语言然后工作.. 在这种情况下,我想输入法语,但我无法这样做.. 请帮助我的朋友

4

1 回答 1

1

我知道为时已晚,但我发现这段代码对我有用:

    var culture = System.Globalization.CultureInfo.GetCultureInfo("fa-IR");
    var lang = InputLanguage.FromCulture(culture);
    if(InputLanguage.InstalledInputLanguages.IndexOf(lang) >= 0)
    {
        InputLanguage.CurrentInputLanguage = InputLanguage.InstalledInputLanguages[InputLanguage.InstalledInputLanguages.IndexOf(lang)];
        System.Threading.Thread.CurrentThread.CurrentCulture = culture;
    }
    else
    {
        InputLanguage.CurrentInputLanguage = original;
    }

感谢更改 C# 中的语言

于 2017-04-23T16:33:40.710 回答