最近出差在北京做一個小項目,項目裡需要讀取配置檔案的小功能,覺得挺有參考意義的就把代碼發上來給大家參考一下。我們選擇了直接用微軟的讀取配置檔案的方法。
這個是程式的運作設計效果,就是把這些參數可以進行靈活設定,靈活儲存設定狀态。
程式編譯後自動會産生相應的配置檔案,是跟項目的名稱一樣的配置檔案。
讀取配置檔案及儲存配置的具體代碼參考如下,希望能給你節省一些時間,直接複制粘貼這個代碼就可以用了:
//------------------------------------------------------------
// 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();
/// 儲存配置檔案
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();
}
}
本文轉自jirigala_bao 51CTO部落格,原文連結:http://blog.51cto.com/jirigala/809495