退出时保存表单设置

时间:2019-03-20 23:05:25

标签: c#

我正在尝试让我的应用程序在退出时保存一些表单设置。

例如。我有一个文本框和一个复选框,我想将两者的状态保存到设置文件中。

我已经知道如何将设置保存到设置文件中,问题在于设置没有保存在现有方法中。

我的应用程序退出方法是这样:

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;
}

同时使用这两种方法时,将调用该方法,显示消息框,但都不保存设置。我认为表单控件在有机会读取值之前就已被卸载。

如何在退出时保存这些表单控件值?

1 个答案:

答案 0 :(得分:1)

如果这就是我的想法,那么这可能是相关的

How To: Write User Settings at Run Time with C#

  

应用程序范围的设置是只读的,并且只能是   在设计时更改或通过在两者之间更改.config文件进行更改   申请会议。但是,用户范围内的设置可以是   在运行时编写,就像您更改任何属性值一样。的   新值在应用程序会话期间持续存在。您   可以在应用程序会话之间保留对设置的更改   通过调用Save方法。

很有可能,您可以致电

session.Default.Save();  

注意 :我可能完全错了