我正在尝试在C#Windows窗体中更改InputLanguage。
我想将英语改为我的语言而不是按键盘上的任何键,因为我曾经用打字软件键入我的语言。
该软件未更改InputLanguage.CurrentInputLanguage.LayoutName
。
if (InputLanguage.CurrentInputLanguage.LayoutName=="US")
{
MessageBox.Show("IN US");
}
else
{
MessageBox.Show("In Others");
}
我写了那段代码,但我使用的软件没有改变LayoutName
我怎样才能做到这一点?
答案 0 :(得分:1)
根据MSDN,必须调用静态方法InputLanguage.CurrentInputLanguage来更改它。
public void ChangeLanguage() {
InputLanguage usLang = Getlanguage("US");
InputLanguage.CurrentInputLanguage = usLang;
}
public Windows.Forms.InputLanguage GetLanguage(string language){
language = language.ToLower();
foreach (System.Windows.Forms.InputLanguage lang in System.Windows.Forms.InputLanguage.InstalledInputLanguages) {
if (lang.LayoutName.ToLower() == language) {
return lang;
}
}
return null;
}