В данном примере рассматривается использование модификатора «override» для изменения абстрактной реализации унаследованного свойства «CurrentInputLanguage», чтобы запретить изменение установленного языка ввода для данного потока приложения.
Для установки языка по умолчанию используется класс «InputLanguage», который предоставляет методы и поля для управления языком ввода и его свойство «CurrentInputLanguage», задающее язык ввода для текущего потока.
Чтобы указать конкретный язык ввода, необходимо воспользоваться свойством «InputLanguage.InstalledInputLanguages», содержащее список всех установленных языков ввода на данном компьютере.
protected override void OnInputLanguageChanged(InputLanguageChangedEventArgs e)
{
base.OnInputLanguageChanged(e);
InputLanguage.CurrentInputLanguage =
InputLanguage.InstalledInputLanguages[0];
}
Приведенный выше код устанавливает для данного потока приложения первый язык из установленных на компьютере, где запущен данный код. Что бы получить данный список необходимо воспользоваться приведенным ниже циклом «Foreach», выводящим наименование языка и его номер в списке установленных языков ввода, в элемент управления «ComboBox».
int i = 0;
foreach (InputLanguage inpute in InputLanguage.InstalledInputLanguages)
{
comboBox1.Items.Add(String.Format("№{0} {1}", i, inpute.LayoutName));
i++;
}
comboBox1.SelectedIndex = 0;
Пример работы тестового проекта приведен ниже.
Ссылка для скачивания примера: Rusfolder.net
0.00 (0%) 0 votes







