2011-04-07 69 views
0

我創建了一個WinForm控件,它使用其私有屬性負責其自己的佈局。.NET管理設置組

每個表單上都有一些控件,當包含表單關閉時,我希望每個控件都保存它的狀態(主要是佈局位置)。當然,我不希望控件公開私有屬性。我的第一個嘗試是在兩個控件的方法中使用Properties.Settings:SaveLayout和RestoreLayout。

但是,然後每個控件都會覆蓋之前保存的設置,因爲用戶設置是共享的。

有沒有一種方法可以在設置中使用某種指定的前綴來保存變量?

// This constructor doesn't exist 
Properties.Settings setting = new Properties.Settings("control 1"); 
setting.edgeDistance = 100; 
setting.save(); 

或者

Properties.Settings setting = new Properties.Settings(); 
setting.edgeDistance("control 1") = 100; 
setting.save(); 

謝謝。

回答

1

Using Settings in C# 對本文的底部是一個標題:「使用備用設置集」。這應該給你你需要什麼

+0

不,這將創建一個設置文件爲每個控件。 – vulkanino 2011-04-07 12:52:11

0

我想我已經使用SettingsKey物業解決:

Properties.Settings setting = new Properties.Settings(); 
setting.SettingsKey = this.name; 

謝謝!

1

您可以做的其中一件事是將[SettingsBindable(true)]屬性添加到要保存的屬性。

這將導致性能控制的對話框此選項,能夠在性能存儲在設置文件:

enter image description here