我使用VSTO内置的设置文件来保存Windows应用程序的设置。
在我的WinForm上有一个复选框,当窗体加载时,我从设置文件中相应的属性中读取其状态(已选或未选)。
只要我不退出应用程序,这个方法就可以正常工作。
但是,当我退出应用程序并重新执行它时-上次执行的设置没有被保存,复选框状态也不是最后一个选项。
我使用“用户”范围来保存设置。
在窗体加载时,从设置中提取复选框状态。
private void MyFormLoad(object sender, EventArgs e)
{
//Find the appropriate property in the Settings file
System.Configuration.SettingsProperty property;
property = P_Settings.Settings.Default.Properties[checkBox.Name];
if (property != null)
checkBox.Checked = Convert.ToBoolean(property.DefaultValue);
}
在表单关闭时,将设置文件与表单状态同步。
private void ButtonApplyClick(object sender, EventArgs e)
{
System.Configuration.SettingsProperty property;
property = P_Settings.Settings.Default.Properties[checkBox.Name];
property.DefaultValue = checkBox.Checked.ToString();
P_Settings.Settings.Default.Save();
}