Я сделал приложение для ввода китайских пиньинь и ханзи в базу данных. Это означает, что оператор должен постоянно переключаться между «Pinyinput» и «sogou input» с помощью ctrl+shift. Есть ли способ сделать автоматическое изменение IME при выборе текстового поля? Я имею в виду не переключение раскладки клавиатуры, а только метод ввода той же раскладки клавиатуры.
C# — автоматическое переключение между двумя разными IME в одной и той же раскладке клавиатуры
Ответы (1)
попробуйте это, я не уверен в названии языков, попробуйте отладить его и получить правильное имя, если это не сработало.
public void ToPinyinput()
{
string CName= "";
foreach(InputLanguage lang in InputLanguage.InstalledInputLanguages)
{
CName = lang.Culture.EnglishName.ToString();
if(CName.StartsWith("Pinyinput"))
{
InputLanguage.CurrentInputLanguage = lang;
}
}
}
public void Tosogou()
{
string CName= "";
foreach(InputLanguage lang in InputLanguage.InstalledInputLanguages)
{
CName = lang.Culture.EnglishName.ToString();
if(CName.StartsWith("sogou"))
{
InputLanguage.CurrentInputLanguage = lang;
}
}
}
если это не сработало, вам нужно изменить следующую строку на правильное имя языка:
CName.StartsWith("langName")
person
Wael Dalloul
schedule
30.09.2009
этот код работает, спасибо! Но он может переключаться только между языками, а не между методами ввода на одном языке (культуре).
- person Magnetic_dud; 30.09.2009
изменить CName = lang.Culture.EnglishName.ToString(); с CName = lang.LayoutName.ToString(); и код отличный! Спасибо!!!!
- person Magnetic_dud; 30.09.2009