1

我的应用程序具有从德语到英语的语言切换(反之亦然),但这种切换在 windows xp 中有效,但在 win 7 中无效。我将应用程序安装在默认路径中,在常量中指定它(路径是默认路径,其中应用程序已安装)。

我在 FileSystem(Myapplication)--->Application Folder-->lang 文件夹中创建了包含 lang_de.xml 和 lang_en.xml 的文件夹。

在 win 7 中安装应用程序时,我的设置表单有一个下拉列表并包含英语和德语。当我选择并重新启动我的应用程序时,表单语言应该改变是我的应用程序的行为,但这在 win7 中不会发生(即使在重新启动它)。

使用win forms .net 4.0 c#

提前致谢

从下拉列表中选择

 public string Language
    {
        get
        {
            for (int i = 0; i < cmbLang.Items.Count; i++)
            {
                if (m_strAvailableLanguages[i, 1] == (string)cmbLang.SelectedItem)
                {
                    return m_strAvailableLanguages[i, 0];
                }
            }
            return "de";
        }
        set
        {

            cmbLang.SelectedItem = " ";

            for (int i = 0; i < cmbLang.Items.Count; i++)
            {
                if (m_strAvailableLanguages[i, 0] == value)
                {

                    cmbLang.SelectedItem = m_strAvailableLanguages[i, 1];
                }
            }
        }
    }

保存到xml...

 private void SaveOptionsValue()

{

      //........
       //.........
        Config.LanguageShort = this.Language;
        Config.Save();

}

public void Save()
    {
        m_xmlDocument = new XmlDocument();

        XmlNode xmlRoot;
        xmlRoot = m_xmlDocument.CreateElement(ROOT);
        m_xmlDocument.AppendChild(xmlRoot);



        AddNode(ROOT, SYSTEM_LANGUAGE, systemLanguage);
        AddNode(ROOT, LANGUAGE, strLanguage);
           ...............
            ............

}

4

0 回答 0