C# WinForm操作配置文件AppSettings获取、增加、删除、修改

发布时间 2023-04-09 19:08:39作者: Rwen

在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");
    }
}