2009-06-25 63 views
1

我想知道什麼是持久化字符串值的最簡單方法,一旦窗體和程序被關閉,我稍後再打開該程序和窗體時再次使用它們。在我的情況下,我使用FolderBrowserDialog並保存用戶選擇的目錄。在.net窗口中保留字符串值形式

我知道我可以使用File.IO等,但只是想知道大家認爲什麼是最簡單/最有效/最少的代碼行。

謝謝!

回答

8

Application Settings不錯,易於使用。

  1. 右鍵單擊您的項目並選擇「屬性」
  2. 轉到「設置」選項卡(點擊鏈接創建一個新的文件,如果一個尚未創建)
  3. 給你的新設置一個名稱和默認值(即 「MySavedDirectory」)
  4. 訪問您的設置從代碼:

-

private string folder; 
private void Form1_Load(object sender, EventArgs e) 
{ 
    this.folder = Properties.Settings.Default.MySavedDirectory; 
} 

private void Form1_FormClosing(object sender, FormClosingEventArgs e) 
{ 
    Properties.Settings.Default.MySavedDirectory = this.folder; 
    Properties.Settings.Default.Save(); 
} 
+0

示例:http://msdn.microsoft.com/en-us/library/system.configuration.applicationsettingsbase.aspx 請記住,應用程序設置和用戶設置。 – eschneider 2009-06-25 20:21:27

0

有內置的設置功能。您可以通過項目的屬性頁面配置設置,然後通過Properties.Settings從代碼訪問它們。但是這種方法我遇到了一些問題。首先,文件被保存在一個你不能選擇的名字中的位置。和IIRC,該位置/文件名將根據您運行應用程序的位置進行更改。另外,您不控制文件的格式。除了這些缺點之外,我還遇到過某些文件損壞,導致設置被訪問時出現異常。修復方法是讓用戶找到並刪除設置文件。

我不再使用設置功能。我更喜歡JSON序列化的文本文件,我可以隨時隨地保存。 File.IO當然沒有什麼可以迴避的,也不是JSON序列化。我敢肯定,你可以在這個網站上找到很多這樣的例子。