在VB.NET中有一個選項爲「自動地保存退出設置」有沒有在C#中的等價選項,或者做一個需要寫出下面的代碼?」自動保存退出C#設置
private void frmMain_FormClosing(object sender, FormClosingEventArgs e)
{
Properties.Settings.Default.Save();
}
在VB.NET中有一個選項爲「自動地保存退出設置」有沒有在C#中的等價選項,或者做一個需要寫出下面的代碼?」自動保存退出C#設置
private void frmMain_FormClosing(object sender, FormClosingEventArgs e)
{
Properties.Settings.Default.Save();
}
你可以使用ApplicationExit代替。
Application.ApplicationExit += new EventHandler(Application_ApplicationExit);
void Application_ApplicationExit(object sender, EventArgs e)
{
Settings.Default.Save();
}
另外,您還可以節省每一個變化:
Settings.Default.PropertyChanged += new PropertyChangedEventHandler(Default_PropertyChanged);
void Default_PropertyChanged(object sender, PropertyChangedEventArgs e)
{
Settings.Default.Save();
}
警告:如果您使用第二種方法,請考慮@Hans評論帕桑特
是的,就是這樣,我喜歡處理保存,重置,重新加載在表單級別,因爲設置是共享的應用程序調用.Reset()FormCancel做正確的事情對於用戶來說,以及在窗體關閉時調用.Save()。如果應用程序在該點之後崩潰,設置將被保留。我認爲在應用程序上保存開始/退出不能在正確的時間爲用戶做正確的事情。
Settings.Default.Save();
其他有趣的方法:
.Upgrade();
.Reset();
.Reload();
你能做到這也是。如果您使用的是Windows窗體,請在設計視圖的「屬性」窗格中調出您要使用的窗體的「事件」選項卡,然後向下滾動,直到看到「關閉事件」,然後雙擊它。
接下來,只需添加如下所示的代碼即可。
private void Form1_Closing(object sender, EventArgs e)
{
Properties.Settings.Default.Save();
}
我認爲保存每次更改的屬性會使用戶交互有點尷尬,特別是如果您允許它們取消其交互。當用戶關閉表格時取消保存,加載某個子系統可提供更好的整體體驗。 – 2011-03-08 03:04:04
謝謝你的幫助... PS:傾向於同意Ritch,但我更喜歡applicationExit。 – 2011-03-08 03:05:12
PropertyChanged是危險的。如果該程序隨後死亡,則由於保存的設置,啓動時可能會再次死亡。您的用戶永遠無法再次啓動它,該文件很難找到。 – 2011-03-08 03:18:38