一直在寻找,并且无法找到任何与我在这里尝试做的完全相关的事情。我在WPF应用程序中创建了一个名为' firstrun'的系统属性,这是一个bool。尝试让程序读取是否正确,然后在第一次运行程序时采取不同的行动。但是一旦关闭,就会把它设置为假。我的代码是这样的,每次运行程序时它仍然是正确的:
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();
}
}
}
答案 0 :(得分:3)
您在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