C#中的语言记忆功能

1.App.config 文件中定义

<!--记忆语言-->
<appSettings>
<add key="languageRemember" value="2052" />
</appSettings>

2.关闭时保存本次登机的语言选择

// 记忆退出时的语言类型
Communication.ChangeConfiguration("languageRemember", Common.Common.CurrentLcid.ToString());

#region 方法:更改配置文件
       /// <summary>
       /// 更改配置文件
       /// </summary>
       /// <param name="keyName">节点名</param>
       /// <param name="Value">节点取值</param>
       public static void ChangeConfiguration(string keyName,string Value)
       {
           //读取程序集的配置文件
           string assemblyConfigFile = Assembly.GetEntryAssembly().Location;
           string appDomainConfigFile = AppDomain.CurrentDomain.SetupInformation.ConfigurationFile;

          Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);

           //获取appSettings节点
           AppSettingsSection appSettings = (AppSettingsSection)config.GetSection("appSettings");

           //删除name,然后添加新值
           appSettings.Settings.Remove(keyName);
           appSettings.Settings.Add(keyName, Value);

           //保存配置文件
           config.Save();
       }
        #endregion
View Code

3.在主程序构造函数中初始化上次的语言

ConfigurationManager.RefreshSection("appSettings");
string i = ConfigurationManager.AppSettings["languageRemember"];
Common.Common.CurrentLcid = int.Parse(i);

posted @ 2018-02-05 13:20  马玲  阅读(277)  评论(0编辑  收藏  举报