0

我使用的是Visual Studio 2010,其中有一個名爲Utilities的項目,其中包含我想從解決方案中的其他項目訪問的settings.settings文件。如何正確使用Properties.Settings?

在另一個項目中,我想讓用戶使用PropertyGrid來管理Windows窗體中的設置。我也想用System.ComponentModel設置來定製它。我嘗試在Settings.Designer.cs文件中應用ComponentModel設置,例如DescriptionAttribute,該文件可以工作,但正如它在文件的註釋中所述,重新生成時該文件的更改。

所以我的問題是:

  1. 我如何從另一個項目訪問Properties.Settings
  2. 如何在不更改Settings.Designer.cs文件的情況下自定義PropertyGrid
  3. 如前所述,我讓用戶通過表單管理設置。但是,我想在用戶按下「取消」按鈕時恢復這些值。我怎麼做?

回答

1
  1. 設置訪問修飾符在設置設計師公衆(默認爲內部)

  2. 我會用一個包裝類爲您設置(只是很多具有屬性裝飾性的去獲取/設置指向原始設置)。該代碼可以從Settings.Designer.cs文件自動生成。

  3. 保存以前的設置,例如,通過序列化(二進制或xml),到一個變量。然後您可以通過將屬性設置爲保存的值來恢復它。

+0

我希望我不需要保存以前的設置。畢竟,由於用戶正在按取消,因此沒有更改。我將創建一個包裝類來爲我處理。感謝您的答覆! – petsson 2012-07-12 14:09:42

+0

您可以採取相反的方法,即用戶將僅編輯一個副本,並且只有在用OK點擊或類似方式提交時纔會將此副本分配給原始設置。 – 2012-07-12 14:26:30