我正在尝试让我的应用程序在退出时保存一些表单设置。
例如。我有一个文本框和一个复选框,我想将两者的状态保存到设置文件中。
我已经知道如何将设置保存到设置文件中,问题在于设置没有保存在现有方法中。
我的应用程序退出方法是这样:
void OnApplicationExit(object sender, EventArgs e)
{
MessageBox.Show("Exiting...");
session.Default.Path = txtPath.Text;
session.Default.Regex = chkRegex.Checked;
}
这是我尝试在退出时调用它的两种方法:
private void Form1_Load(object sender, EventArgs e)
{
AppDomain.CurrentDomain.ProcessExit += new EventHandler(OnApplicationExit);
}
和
private void Form1_Load(object sender, EventArgs e)
{
this.FormClosing += OnApplicationExit;
}
同时使用这两种方法时,将调用该方法,显示消息框,但都不保存设置。我认为表单控件在有机会读取值之前就已被卸载。
如何在退出时保存这些表单控件值?
答案 0 :(得分:1)
如果这就是我的想法,那么这可能是相关的
How To: Write User Settings at Run Time with C#
应用程序范围的设置是只读的,并且只能是 在设计时更改或通过在两者之间更改.config文件进行更改 申请会议。但是,用户范围内的设置可以是 在运行时编写,就像您更改任何属性值一样。的 新值在应用程序会话期间持续存在。您 可以在应用程序会话之间保留对设置的更改 通过调用Save方法。
很有可能,您可以致电
session.Default.Save();
注意 :我可能完全错了