我的应用程序具有从德语到英语的语言切换(反之亦然),但这种切换在 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);
...............
............
}