如何在表单中编辑和保存设置?
How to edit and save settings in a Form?
我有一个包含多个文本框、单选按钮、复选框等的表单。现在我通过声明每个值并保存到程序设置来分别保存它们的值:
Properties.Settings.Default.EmailFrom = txtbxEmailFrom.Text;
我想找到一种方法来遍历所有对象并尽可能保存它们的设置,这样我就不必单独声明每个对象。
有办法吗?或者更好的方法来保存我的文本框的文本、复选框和单选按钮的检查状态等?
这样做的一种方法是遍历所有控件,并在每次迭代中检查当前控件的类型并相应地保存。但是我不太确定您可以对 RadioButtons/CheckBoxes.
做些什么
foreach (var c in this.Controls)
{
var _type = c.GetType();
if (_type == typeof(TextBox))
{
// Cast it to a textbox and save it's text property
}
elseif (_type == typeof(ListBox)
{
// Cast it to a listbox and save it's items property
}
// So on...
}
您可以使用property binding应用程序设置。
这样您可以通过调用 Properties.Settings.Default.Save();
简单地保存设置并且您不需要循环控制,因为属性绑定到设置并且它们的值在更改时自动推送到设置中。
您可以使用设计器或代码将属性绑定到设置。
使用设计器
select 您在设计时的控件,然后在 属性 网格中,在 (ApplicationSettings)
下单击 ...
for (PropertyBinding)
并从对话框中绑定您需要设置的属性。
使用代码
您可以将属性绑定到设置,使用代码的方式与使用代码进行数据绑定时的方式相同:
this.textBox1.DataBindings.Add(
new System.Windows.Forms.Binding("Text", Properties.Settings.Default, "Test", true,
DataSourceUpdateMode.OnPropertyChanged));
保存设置
要保存设置,在设置对象上调用 Save()
就足够了,例如 Closing
形式的事件:
Properties.Settings.Default.Save();
备注
作为设置的不同控件的替代方法,您还可以使用 PropertyGrid
来显示所有设置并进行编辑。
更多信息:
我有一个包含多个文本框、单选按钮、复选框等的表单。现在我通过声明每个值并保存到程序设置来分别保存它们的值:
Properties.Settings.Default.EmailFrom = txtbxEmailFrom.Text;
我想找到一种方法来遍历所有对象并尽可能保存它们的设置,这样我就不必单独声明每个对象。
有办法吗?或者更好的方法来保存我的文本框的文本、复选框和单选按钮的检查状态等?
这样做的一种方法是遍历所有控件,并在每次迭代中检查当前控件的类型并相应地保存。但是我不太确定您可以对 RadioButtons/CheckBoxes.
做些什么foreach (var c in this.Controls)
{
var _type = c.GetType();
if (_type == typeof(TextBox))
{
// Cast it to a textbox and save it's text property
}
elseif (_type == typeof(ListBox)
{
// Cast it to a listbox and save it's items property
}
// So on...
}
您可以使用property binding应用程序设置。
这样您可以通过调用 Properties.Settings.Default.Save();
简单地保存设置并且您不需要循环控制,因为属性绑定到设置并且它们的值在更改时自动推送到设置中。
您可以使用设计器或代码将属性绑定到设置。
使用设计器
select 您在设计时的控件,然后在 属性 网格中,在 (ApplicationSettings)
下单击 ...
for (PropertyBinding)
并从对话框中绑定您需要设置的属性。
使用代码
您可以将属性绑定到设置,使用代码的方式与使用代码进行数据绑定时的方式相同:
this.textBox1.DataBindings.Add(
new System.Windows.Forms.Binding("Text", Properties.Settings.Default, "Test", true,
DataSourceUpdateMode.OnPropertyChanged));
保存设置
要保存设置,在设置对象上调用 Save()
就足够了,例如 Closing
形式的事件:
Properties.Settings.Default.Save();
备注
作为设置的不同控件的替代方法,您还可以使用 PropertyGrid
来显示所有设置并进行编辑。
更多信息: