0

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

4

2 回答 2

1

我使用这些代码: 首先你必须找到你想要的文化语言的名称。方法“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"));

    }
于 2014-12-17T08:16:52.850 回答
0

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

于 2013-11-09T13:41:28.527 回答