在Winform中动态读写app.config文件

1、  首先需要在项目中引用:System.Configuration

2、  通过OpenExeConfiguration()这个方法来对配置文件进行操作

     若当前项目的配置文件如下:

<?xml version="1.0"?>
<configuration>
    <appSettings>
        <clear />
        <add key="DataSource" value=".\SQL2005"/>
        <!-- 数据库服务地址-->
        <add key="InitialCatalog" value="db"/>
        <!-- 数据库名称-->
        <add key="UserId" value="sa"/>
        <!-- 用户名-->
        <add key="Password" value="sa"/>
        <!-- 这个密码是加密之后的-->
        <add key="ConnectTimeout" value="1000"/>
    </appSettings>
    <startup>
        <supportedRuntime version="v2.0.50727"/>
    </startup>
</configuration>

 

需要对上面appSettings的键值作修改,如下代码所示:

string path = Application.StartupPath + "\\ASSEMLY.exe";
            Configuration config = ConfigurationManager.OpenExeConfiguration(path);
            config.AppSettings.Settings.Clear();

            config.AppSettings.Settings.Add("DataSource", this.DataSource);
            config.AppSettings.Settings.Add("InitialCatalog", this.InitialCatalog);
            config.AppSettings.Settings.Add("UserId", this.UserId);
            config.AppSettings.Settings.Add("Password", this.DePassword);
            config.AppSettings.Settings.Add("ConnectTimeout", this.ConnectTimeout.ToString());

            // 保存对配置文件所作的更改
            config.Save(ConfigurationSaveMode.Modified);
            // 强制重新载入配置文件的ConnectionStrings配置节
            ConfigurationManager.RefreshSection("appSettings");

 

  其中它是不能直接修改健值的,是在修改之前要删除该键值,然后重新添加

  同是,上面的只是对AppSettings进行操作,其实也可以对ConnectionStrings、SectionGroups、Sections进行操作

posted @ 2012-12-07 11:30  myfly  阅读(808)  评论(0)    收藏  举报