/// <summary>
/// 切换软体语言
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void languageToolStripMenuItem_Click(object sender, EventArgs e)
{
Task.Run(() =>
{
this.Invoke(new Action(() =>
{
LanguageChangeWarningForm LangChangeWarningForm = new LanguageChangeWarningForm();
LangChangeWarningForm.ShowDialog();
if (LangChangeWarningForm.dialogResultNum == DialogResult.OK)
{
if (((ToolStripMenuItem)sender).Text == "English")
{
UpdateConfig("language", "en");
}
else if (((ToolStripMenuItem)sender).Text == "中文(简体)")
{
UpdateConfig("language", "zh-CN");
}
else if (((ToolStripMenuItem)sender).Text == "中文(繁體)")
{
UpdateConfig("language", "zh-TW");
}
this.Dispose();
Application.Restart();
}
else if (LangChangeWarningForm.dialogResultNum == DialogResult.No)
{
return;
}
}));
});
}
/// <summary>
/// 修改config配置
/// </summary>
/// <param name="key"></param>
/// <param name="value"></param>
private void UpdateConfig(string key, string value)
{
var xmlDoc = new XmlDocument();
xmlDoc.Load(AppDomain.CurrentDomain.SetupInformation.ConfigurationFile);
foreach (XmlElement xmlElement in xmlDoc.DocumentElement)
{
if (xmlElement.Name.Equals("appSettings"))
{
foreach (XmlNode xNode in xmlElement.ChildNodes)
{
if (xNode.Attributes[0].Value.Equals(key))
{
xNode.Attributes[1].Value = value;
}
}
}
}
ConfigurationManager.RefreshSection("appSettings");
xmlDoc.Save(AppDomain.CurrentDomain.SetupInformation.ConfigurationFile);
}
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交