Member 9929607 Ответов: 2

Ввод на нескольких языках


У меня есть приложение C# windows. Мой клиент хочет, чтобы он поддерживал многоязычный ввод на основе настроек приложения.

Я попытался установить InputLanguage.CurrentInputLanguage to kannada (индийский язык).
После этого я могу ввести каннаду, но макет ключевой платы отличается.
Как установить раскладку клавиатуры.

Если я наберу "Аравинд", то он должен появиться в каннаде

Что я уже пробовал:

nputLanguage.CurrentInputLanguage

2 Ответов

Рейтинг:
2

MadMyche

Похоже, вы находитесь на правильном пути; это свойство класса можно взять на уровень дальше, запросив LayoutName
Язык ввода.Свойство LayoutName (System.Окна.Формы) | Microsoft Docs[^]

Вы также можете использовать InputManager подобным же образом:
InputLanguageManager.Свойство CurrentInputLanguage (System.Окна.Ввод) | Microsoft Docs[^]

А вот только общая статья, которая может вам помочь
C#: получить текущую раскладку клавиатуры\язык ввода[^]


Рейтинг:
0

OriginalGriff

Ваше приложение не должно изменять раскладку клавиатуры - это физическая вещь, которая отражается в настройках аппаратного обеспечения для операционной системы и не является чем-то, что приложение должно изменять. Ваше приложение не может не отключить клавиатуру и подключить новую, не так ли? Так почему же он должен изменять настройки для всей системы?