我在c#中有一个Winforms应用程序,我希望文本框在焦点时自动更改语言。如何自动更改文本框的语言
我试过这段代码:
private void textBox1_Enter(object sender, EventArgs e)
{
SetKeyboardLayout(GetInputLanguageByName("fa"));
}
private void textBox1_Leave(object sender, EventArgs e)
{
SetKeyboardLayout(GetInputLanguageByName("eng"));
}
public static InputLanguage GetInputLanguageByName(string inputName)
{
foreach (InputLanguage lang in InputLanguage.InstalledInputLanguages)
{
if (lang.Culture.EnglishName.ToLower().StartsWith(inputName))
{
return lang;
}
}
return null;
}
private void SetKeyboardLayout(InputLanguage layout)
{
InputLanguage.CurrentInputLanguage = layout;
}
但是,当我输入文本框,语言不会改变。我能做什么?
“它不工作”是不是说明问题的一种可接受的方式。请提供更多细节。 –
当我输入文本框时,语言不会改变。 – amirhossein
然后在你的问题中这么说,这样人们就不必阅读评论来找出问题。 –