我正在制作多语种打字导师,想要从代码中更改输入语言,但语言不在语言栏上(它们安装在操作系统中,但我只在语言栏中显示英文)我尝试了下面的代码但是它不起作用..
System.Globalization.CultureInfo my_culture = new System.Globalization.CultureInfo("fr-FR");
InputLanguage c = InputLanguage.FromCulture(my_culture);
InputLanguage.CurrentInputLanguage = c;
请注意,我不希望最终用户首先在语言栏中获取这些语言然后工作..在这种情况下,我想输入法语但我无法这样做..请帮助我的朋友
答案 0 :(得分: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;
}