在程序退出时保存系统属性

本文关键字:系统 属性 保存 程序 退出 | 更新日期: 2023-09-27 18:20:40

一直在仔细查看,但没有找到任何与我在这里尝试做的事情完全相关的东西。我在WPF应用程序中创建了一个名为"firstrun"的系统属性,它是一个bool。如果是真的,试着让程序读取,然后在第一次运行程序时采取不同的行动。但一旦关闭,它就会设置为false。我的代码是这样的,每次运行程序时都是正确的:

 public partial class MainWindow : Window
{
    bool firstRun = Properties.Settings.Default.FirstRun;
    public MainWindow()
    {
        InitializeComponent();
        if (firstRun)
        {
            MessageBox.Show("First run");
        }
        else
        {
            // Run rest of program
            MessageBox.Show("This is not the first run");
        }
    }
    private void windowClosing(object sender, System.ComponentModel.CancelEventArgs e)
    {
        this.firstRun = false;
        Settings.Default.Save();
    }

}
}

在程序退出时保存系统属性

您更改MainWindow成员中的值:

bool firstRun = Properties.Settings.Default.FirstRun;

您需要更改设置中的属性值(Properties.settings.Default.FirstRun),然后调用settings.Default.Save(),如下所示:

private void windowClosing(object sender, System.ComponentModel.CancelEventArgs e)
{
   Properties.Settings.Default.FirstRun = false;
   Settings.Default.Save();
}

对于此功能,您必须将设置文件中的范围从"应用程序"值更改为"用户"值。在用户范围内,属性具有getter和setter