一次加载多个用户设置的最佳方法是什么。例如,我的应用程序有许多用户设置,如:
settingCapitalizeStrings bool user true
然后在我的FormOptions_Load
我需要遍历所有设置和值,如:
private void FormOptions_Load(object sender, EventArgs e)
{
if(s.settingCapitalizeStrings == true)
{
capitalizeStringsCheckBox.Checked = true;
}
// and many many more
}
然后处理每个CheckBox_CheckedChanged
有更好的解决方案吗?我可以绑定用户设置或类似的内容吗?
答案 0 :(得分:3)
我建议使用Application Settings:
这将生成从文件加载设置的代码,并添加对Checked
复选框属性的绑定(在表单创建期间将从设置文件加载属性值,并在复选框Checked
属性值时更新设置文件将被更改):
this.capitalizeStringsCheckBox.Checked = global::WindowsFormsApplication.Properties.Settings.Default.CapitalizeStrings;
this.capitalizeStringsCheckBox.DataBindings.Add(new System.Windows.Forms.Binding("Checked", global::WindowsFormsApplication.Properties.Settings.Default, "CapitalizeStrings", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
答案 1 :(得分:1)
尝试查看配置,并将所有内容放在app.config中: http://msdn.microsoft.com/en-us/library/system.configuration.configuration(v=vs.110).aspx
另外,
private void FormOptions_Load(object sender, EventArgs e)
{
capitalizeStringsCheckBox.Checked = s.settingCapitalizeStrings;
}
更优雅。