WinForm 创建与读写配置文件

(转自:http://www.cnblogs.com/SkySoot/archive/2012/02/08/2342941.html)

1. 创建 app.config 文件: 
右击项目名称,选择“添加”→“添加新建项”,在出现的“添加新项”对话框中,选择“添加应用程序配置文件”;如果项目以前没有配置文件,则默认的文件名称为“app.config”,单击“确定”。

image

出现在设计器视图中的app.config文件为:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
</configuration>

2. 在配置文件中配置节点,本文以 connectionStrings 为例:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <!--数据库连接字符串-->
  <connectionStrings>
    <add name="ConnectionToNorthwind" connectionString="Data Source=localhost;Initial Catalog=Northwind;UserID=sa;password=sa"
         providerName="System.Data.SqlClient"/>
  </connectionStrings>
</configuration>

3. 读取 connectionStrings 配置节:

要使用以下的代码访问 app.config 文件,除了 Useing System.Configuration 外,还必须在此项目添加对 System.Configuration.dll 的引用。

/// <summary>
/// 获取指定名称的数据库连接字符串
/// </summary>
/// <param name="connectionName">连接名</param>
/// <returns>连接字符串</returns>
private static string GetConnectionString(string connectionName)
{
    return ConfigurationManager.ConnectionStrings[connectionName].ConnectionString.ToString();
}


4. 更新 connectionStrings 配置节:

///<summary> 
///更新连接字符串 
///</summary> 
///<param name="newName">连接字符串名称</param> 
///<param name="newConString">连接字符串内容</param> 
///<param name="newProviderName">数据提供程序名称</param> 
private static void UpdateConnectionString(string newName, string newConString, string newProviderName)
{
    // 将当前应用程序的配置文件作为 System.Configuration.Configuration 对象打开
    Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
 
    // 存在此连接,则先删除
    if (ConfigurationManager.ConnectionStrings[newName] != null)
    {
        config.ConnectionStrings.ConnectionStrings.Remove(newName);
    }
 
    // 新建一个连接字符串
    ConnectionStringSettings newConStr = new ConnectionStringSettings(newName, newConString, newProviderName);
 
    // 将新的连接字符串添加到配置文件中. 
    config.ConnectionStrings.ConnectionStrings.Add(newConStr);
 
    // 保存对配置文件所作的更改 
    config.Save(ConfigurationSaveMode.Modified);
 
    // 强制重新载入配置文件的ConnectionStrings配置节 
    ConfigurationManager.RefreshSection("ConnectionStrings");
}
原文地址:https://www.cnblogs.com/FindSelf/p/4012747.html