如何在.Net Windows窗体中更改InputLanguage?

时间:2011-06-29 14:38:15

标签: c#

我正在尝试在C#Windows窗体中更改InputLanguage。

我想将英语改为我的语言而不是按键盘上的任何键,因为我曾经用打字软件键入我的语言。

该软件未更改InputLanguage.CurrentInputLanguage.LayoutName

if (InputLanguage.CurrentInputLanguage.LayoutName=="US")
{
    MessageBox.Show("IN US");
}
else
{
    MessageBox.Show("In Others");
}

我写了那段代码,但我使用的软件没有改变LayoutName 我怎样才能做到这一点?

1 个答案:

答案 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;
}