上方廣告

Lady Kukki 手作糖霜餅乾

2012年1月20日 星期五

讀寫app.conifg檔案

有時候我們在寫WinForm程式的時候,若沒資料庫而又必須儲存一些參數以方便後續使用的時候,有幾種方法。1. 自己寫文字檔或xml檔儲存,這個我就不在說明了。2. 利用app.conifg來進行資料存取,下面我就針對這項進行簡單的說明。

由於我要利用appSettings來進行存取,因此要存放的檔案必須為基本資料型態的格式,也就是如果你要存放的檔案有多筆、陣列、DataSet、DataTable(雖然可序列化)等等,皆不適用本範例。
app.conifg檔格式如下
<span style="font-family: inherit;">
<configuration>
  <appsettings>
    <add key="Language" value="en"></add>
  </appsettings>
</configuration>

讀取的部分,這個部份就超簡單的,看一下以下程式碼就懂了。
string language = string.Empty;
if(ConfigurationManager.AppSettings["Language"] != null)
 language = ConfigurationManager.AppSettings["Language"].ToString();

寫入的部分其實也沒有很難,只是有個地方要注意,修改完app.conifg,如果沒有特別設定的話,預設是不會立即有反應,必須要關閉程式才會有作用,如此一來就不是我們想要的結果了,因此必須特別指定一下儲存完重新存取。
Configuration cfa = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
cfa.AppSettings.Settings["Language"].Value = "zh-TW";

// Save the configuration file.
cfa.Save(ConfigurationSaveMode.Modified);
// Force a reload of the changed section.
ConfigurationManager.RefreshSection("appSettings");