У меня есть приложение Winforms в C#, и я хочу, чтобы TextBox автоматически менял язык, когда он фокусируется.Как изменить язык TextBox автоматически
Я попробовал этот код:
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;
}
Но когда я вхожу в TextBox, язык не меняется. Что я могу сделать?
«Это не сработало» не является приемлемым способом описания проблемы. Пожалуйста, предоставьте более подробную информацию. –
Когда я вхожу в текстовое поле, язык не изменяется. – amirhossein
Тогда скажите так в своем вопросе, чтобы люди не читали комментарии, чтобы выяснить проблему. –