贊助商連結

十月 29, 2006

.NET 2.0 的應用程式設定

| 原始連結

雖然我以為大家都應該知道這件事,但讓我感到意外的是好像還有很多人不知道.NET 2.0的Settings要怎麼用,所以接下來我要對.NET 2.0中的設定檔做一點說明。

還記得那個遙遠的年代,所有的應用程式都有一套自己保存設定的方法,它們可能會在自己的目錄下放一個設定檔,當程式啟動時就開始讀進所有的參數,並且依照相關的設定去執行任務,當時最通用的設定檔就是.INI格式的檔案,找找你硬碟裏的INI檔並且打開它,你會發現INI檔使用非常簡單的名稱/值的結構,它看起來像是這樣:

[Settings]
Value1 = abc
Value2 = 12345
Value3 = 2006-01-01
…..
………..

後來Windows被微軟創造出來後,在Windows的系統內有另一種保存設定的方法,那就是Register,Register屬於集中管理式的設定方法,當Register中的參數遭到恐怖份子不當的修改很可能會對作業系統造成嚴重的影響,而且很難去修正錯誤,不過以上都不是我今天要講的重點,我想要說的是XML格式的設定檔。

現在XML格式流行,人們發現以XML格式保存文件是一件非常酷的事,於是.NET便大量支援使用XML,就連設定檔也都以XML文件的形式保存,原本在.NET Framework中就有XmlDocument物件可以用來對XML文件做存取控制,到了.NET 2.0又加上了專門針對應用程式設定操作更好的方法。

首先在你的"專案"(Porject)上按右鍵並且點選"屬性"(Propertys)再點選"設定"(Settings)頁簽,如果這時後畫面提示你目前沒有設定檔,你可以按下中間的連結建立一個新的設定檔,一切順利的話你可以看到一個編輯畫面。


編輯你應用程式所需要設定參數然後存檔,這時後你可以發現在方案總管多了一個Settings.settings的檔案。


一切就緒剩下的問題是如何在程式中運用這些設定值,一步一步來其實很簡單,讀取設定值跟寫入設定值只需要短短幾行程式就可以做到。

讀取設定值:


寫入設定值:


你甚至還可以在設定檔的載入、存檔及修改中加入事件:

最後有幾點我要特別說明:

  1. 設定值的範圍有分Application及User兩種,Application是所有使用者共用的設定,而User是各別使用者帳號的設定。
  2. Application是唯讀的所以不能被修改。
  3. Application的設定檔會放在程序目錄下的"程式名稱.exe.config"
  4. User的設定檔會放在C:\Documents and Settings\使用者帳號\Local Settings\Application Data\專案名稱\版本\user.config
照著以上的方法做,你會發現善用.NET 2.0的Settings,操作應用程式設定檔再也不會是件苦差事。