更改应用程序语言的文本框输入语言

时间:2013-03-05 08:01:56

标签: c# windows-8

我正在开发一款Metro app,它在应用程序中提供了更改语言选项。我希望在更改语言文本框输入语言时也能得到改变。它不应该依赖于系统语言。

2 个答案:

答案 0 :(得分:0)

首先,您需要确保所需的语言安装在操作系统中,并且它位于安装的输入语言列表中(检查语言和区域设置下控制面板中的语言栏)。如果不在语言栏,添加它.. 例如您想要将应用程序语言更改为“FRENCH”..您需要为要在应用程序中更改的每种语言创建新的资源文件,然后更改当前线程的文化属性。 您熟悉资源文件(.resx)和文化信息类吗?

答案 1 :(得分:0)

我使用这些代码: 首先,您必须找到所需文化语言的名称。 方法" GetInutLanguageByName"将返回您请求的语言 然后,您将检查是否安装了所请求的语言,如果是,则返回所请求的语言。 然后很容易改变输入语言...

private static InputLanguage GetInutLanguageByName(string layOut)
    {
        foreach (InputLanguage lng in InputLanguage.InstalledInputLanguages)
        {
            if (lng.Culture.DisplayName == layOut)
            {
                return lng;
            }
        }
        return null;

    }

private void SetKeyboardLayout(InputLanguage Layout)
    {
        InputLanguage.CurrentInputLanguage = Layout;
    }

private void FirstNameTextBox_Enter(object sender, EventArgs e)
    {

        SetKeyboardLayout(GetInutLanguageByName("Persian"));

    }
相关问题