我試圖在設置窗體上實現「Reset Settings」按鈕。但我不希望它直到用戶確定爲止。Application.Settings Save()不保存實例的值(在這種情況下)
因此,我在重置它們之前創建設置的副本,並且如果用戶單擊取消 - 我保存這些(「舊」)設置。麻煩是 - 它不起作用。
下面是代碼:
Settings s1 = Settings.Default;
s1.Setting1 = "A";
s1.Save();
Settings s2 = Clone();//A method that clones the settings
s2.Setting1 = "B";
s2.Reset();
s1.Save();//Why doesn't this line work?
s1.Reload();//Without this line - the next line shows "A" . With this line, the next shows - "ABC" (-the origianl). Why?
Text = s1.Setting1;
(超:我應該由用戶來改變每次改變都設置在設置的副本,以及確認後提交的,或者我應該忽略直到用戶單擊確定 - 然後遍歷所有控件並將每個控件的值分配給正確的屬性...或者可能是其他方式?)
嗯,我會選擇後者。一旦他/她確認操作,使用戶更改設置生效,因此單擊「取消」將只重新加載當前設置,從而避免不必要的保存和重新加載操作。 –