Rising

自我学习记录,方便使用时查找。

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

http://smartsoft.5d6d.com/thread-6550-1-1.html

C# 读取保存App.config配置文件的完整源码参考
最近出差在北京做一个小项目,项目里需要读取配置文件的小功能,觉得挺有参考意义的就把代码发上来给大家参考一下。我们选择了直接用微软的读取配置文件的方法。


这个是程序的运行设计效果,就是把这些参数可以进行灵活设置,灵活保存设置状态。


程序编译后自动会产生相应的配置文件,是跟项目的名称一样的配置文件。


读取配置文件及保存配置的具体代码参考如下,希望能给你节省一些时间,直接复制粘贴这个代码就可以用了:
//------------------------------------------------------------
// All Rights Reserved , Copyright (C) 2010 , CDPF , Ltd.
//------------------------------------------------------------

using System;
using System.Configuration;
using System.Windows.Forms;
using Utilities;

namespace DirectSeeding
{
   
///
<summary>
///    FrmConfig
   
/// 读取配置文件
   
///
/// 修改纪录
   
///
///        2011.01.14 版本:   1.0 JiRiGaLa 完善程序的注释等、从新整理代码。
   
///
/// 版本:1.0
   
///
///
<author>
///
<name>JiRiGaLa</name>
///
<date>2011.01.14</date>
///
</author>
///
</summary>

public
partial
class FrmConfig : Form
    {
        
public FrmConfig()
        {
            InitializeComponent();
        }

        
///
<summary>
/// 读取配置文件
        
///
</summary>

private
void GetConfig()
        {
            
this.txtWriteFileName.Text = ConfigurationManager.AppSettings["WriteFileName"];
            
this.txtWritePath.Text = ConfigurationManager.AppSettings["WritePath"].Replace("|", Environment.NewLine);
            
this.txtPostMessageURL.Text = ConfigurationManager.AppSettings["PostMessageURL"];
            
this.txtLeasedLineURL.Text = ConfigurationManager.AppSettings["LeasedLineURL"];
        }

        
private
void FrmDirectSeeding_Load(object sender, EventArgs e)
        {
            
this.GetConfig();
        }

        
///
<summary>
/// 保存配置文件
        
///
</summary>

private
void SaveConfig()
        {
            
// 写入参数设置
            Configuration configuration = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
            configuration.AppSettings.Settings[
"WriteFileName"].Value =
this.txtWriteFileName.Text;
            configuration.AppSettings.Settings[
"WritePath"].Value =
this.txtWritePath.Text.Trim().Replace(Environment.NewLine, "|");
            configuration.AppSettings.Settings[
"PostMessageURL"].Value =
this.txtPostMessageURL.Text;
            configuration.AppSettings.Settings[
"LeasedLineURL"].Value =
this.txtLeasedLineURL.Text;
            configuration.Save();

            
// 重新读取参数
            ConfigurationManager.RefreshSection("appSettings");
            WriteFile.WriteFileName
= ConfigurationManager.AppSettings["WriteFileName"];
            WriteFile.WritePath
= ConfigurationManager.AppSettings["WritePath"].Split('|');
            PostMessage.PostMessageURL
= ConfigurationManager.AppSettings["PostMessageURL"];
            
// PostMessage.LeasedLineURL = ConfigurationManager.AppSettings["LeasedLineURL"];
        }

        
private
void btnSavaConfig_Click(object sender, EventArgs e)
        {
            
// 保存设置
            SaveConfig();
        }
    }
}

 

其实,主要的就在于重新读取参数这个操作,其余应该都不是问题


posted on 2011-01-20 11:45  Rising  阅读(1103)  评论(1编辑  收藏  举报