在C# WinForm开发中,如果想要修改AppSettings中的值,发现用下面这个代码并没有成功。
ConfigurationManager.AppSettings.Set(key, value);//修改值,但是没有成功
下面提供可以用的获取、增加、删除、修改appSettings的方法。
public class WinConfigHelper
{
/// <summary>
/// 根据Key取Value值
/// </summary>
/// <param name="key"></param>
public static string GetValue(string key)
{
return ConfigurationManager.AppSettings[key].ToString().Trim();
}
/// <summary>
/// 根据Key修改Value
/// </summary>
/// <param name="key">要修改的Key</param>
/// <param name="value">要修改为的值</param>
public static void SetValue(string key, string value)
{
Configuration cfa = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
cfa.AppSettings.Settings[key].Value=value;
cfa.Save();
ConfigurationManager.RefreshSection("appSettings");
}
/// <summary>
/// 添加新的Key ,Value键值对
/// </summary>
/// <param name="key">Key</param>
/// <param name="value">Value</param>
public static void Add(string key, string value)
{
Configuration cfa = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
cfa.AppSettings.Settings.Add(key, value);
cfa.Save();
ConfigurationManager.RefreshSection("appSettings");
}
/// <summary>
/// 根据Key删除项
/// </summary>
/// <param name="key">Key</param>
public static void Remove(string key)
{
Configuration cfa = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
cfa.AppSettings.Settings.Remove(key);
cfa.Save();
ConfigurationManager.RefreshSection("appSettings");
}
}