【C#】【WPF】如何读写app.config文件

WPF生成的项目中会有.exe.config。一般是系统默认配置的

格式是xml格式,C#的项目可以直接读写这些文件。方法代码如下。

public static string GetConnectionStringsConfig(string connectionName)
        {
            string file = System.Windows.Forms.Application.ExecutablePath;
            System.Configuration.Configuration sysconfig = ConfigurationManager.OpenExeConfiguration(file);
            string connectionString =
                sysconfig.ConnectionStrings.ConnectionStrings[connectionName].ConnectionString.ToString();
            return connectionString;
        }
public static void UpdateConnectionStringsConfig(string newName, string newConString)
        {
            string file = System.Windows.Forms.Application.ExecutablePath;
            Configuration sysconfig = ConfigurationManager.OpenExeConfiguration(file);
            bool exist = false;
            if (sysconfig.ConnectionStrings.ConnectionStrings[newName] != null)
            {
                exist = true;
            }
            if (exist)
            {
                sysconfig.ConnectionStrings.ConnectionStrings.Remove(newName);
            }
            ConnectionStringSettings mySettings =
                new ConnectionStringSettings(newName, newConString);
            sysconfig.ConnectionStrings.ConnectionStrings.Add(mySettings);
            sysconfig.Save(ConfigurationSaveMode.Modified);
            ConfigurationManager.RefreshSection("ConnectionStrings");
        }

以上方法可以直接向配置文件中动态写入。

 

 

还有一种方法是使用Key值的config读写

app.config的配置文件如下

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <appSettings>
    <add key="Language" value="Chinese" />
    <add key="DefaultConfigPath" value="" />
    <add key="DBFilePath" value="" />
  </appSettings>
</configuration>

读配置文件的方法很简单,代码如下

language = ConfigurationManager.AppSettings[Options.Language];
defaultConfigPath = ConfigurationManager.AppSettings[Options.DefaultConfigPath];
dbFilePath = ConfigurationManager.AppSettings[Options.DBFilePath];

写入配置文件的方法也很简单,方法如下

        public static void WriteOptions(string keyName, string newValue)
        {
            Configuration cfa = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
            cfa.AppSettings.Settings[keyName].Value = newValue;
            cfa.Save();
        }

调用方法完成写入指定Key值的配置文件。

这种方法仅仅在配置文件中存在指定Key值的时候可以写入Value的值。也就是修改指定Key的对应Value的值。

当然对应还有删除和添加的方法如下

public static void WriteOptions(string keyName, string newValue)
{
       Configuration cfa = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
       //删除
       cfa.AppSettings.Settings.Remove(KeyName);
       //添加
       cfa.AppSettings.Settings.Add(KeyName,newValue);
       cfa.Save();
}

 

posted @ 2016-07-06 09:27  土豆核  阅读(1797)  评论(0编辑  收藏  举报