在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