讀寫app.conifg檔案
有時候我們在寫WinForm程式的時候,若沒資料庫而又必須儲存一些參數以方便後續使用的時候,有幾種方法。1. 自己寫文字檔或xml檔儲存,這個我就不在說明了。2. 利用app.conifg來進行資料存取,下面我就針對這項進行簡單的說明。
由於我要利用appSettings來進行存取,因此要存放的檔案必須為基本資料型態的格式,也就是如果你要存放的檔案有多筆、陣列、DataSet、DataTable(雖然可序列化)等等,皆不適用本範例。
app.conifg檔格式如下
讀取的部分,這個部份就超簡單的,看一下以下程式碼就懂了。
寫入的部分其實也沒有很難,只是有個地方要注意,修改完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");
留言
張貼留言
您好,我是 Lawrence,這裡是我的開發筆記的網誌,如果你對我的文章有任何疑問或者有錯誤的話,歡迎留言讓我知道。