c# - 如何在表单中编辑和保存设置?

标签 c# .net winforms settings

我有一个包含多个文本框、单选按钮、复选框等的表单。现在我通过声明每个值并保存到程序设置来分别保存它们的值:

Properties.Settings.Default.EmailFrom = txtbxEmailFrom.Text;

我想找到一种方法来遍历所有对象并尽可能保存它们的设置,这样我就不必单独声明每个对象。

有没有办法做到这一点?或者更好的方法来保存我的文本框的文本、复选框和单选按钮的检查状态等?

最佳答案

您可以使用 property binding到应用程序设置。

这样您就可以通过调用 Properties.Settings.Default.Save(); 来简单地保存设置,并且您不需要遍历控件,因为属性已绑定(bind)到设置及其值自动推送到更改设置。

您可以使用设计器或代码将属性绑定(bind)到设置。

使用设计器

在设计时选择您的控件,然后在属性网格中,在 (ApplicationSettings) 下单击 ... for (PropertyBinding) 并从对话框,将您需要的属性绑定(bind)到设置。

使用代码

您可以将属性绑定(bind)到设置,使用代码的方式与使用代码进行数据绑定(bind)时的方式相同:

this.textBox1.DataBindings.Add(
    new System.Windows.Forms.Binding("Text", Properties.Settings.Default, "Test", true,
        DataSourceUpdateMode.OnPropertyChanged));
        

保存设置

要保存设置,在设置对象上调用 Save() 就足够了,例如 Closing 表单事件:

Properties.Settings.Default.Save();

注意

作为设置的不同控件的替代方法,您还可以使用 PropertyGrid 来显示所有设置并对其进行编辑。

更多信息:

关于c# - 如何在表单中编辑和保存设置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34483338/

相关文章:

c# - 我的 Winforms C# 项目设计器被我的 C++/CLI 项目消灭了

C#字符串不包含

c# - 如何在不使用任何代码的情况下在 Windows 启动时运行 WPF 应用程序

c# - 如何在应用程序启动之间保留对象列表

c# - 按钮中的下划线字母

c# - Windows 10 - System.Speech.Synthesis 无法获取移动版语音

c# - 使用依赖注入(inject)注入(inject)依赖注入(inject)器

c# - 在 WPF 中设置和删除工具提示

.net - 使用 .Net Forms 对用户和成员进行 Umbraco 身份验证

c# - 使用 LINQ 时 VB TryCast 和 C# "as"运算符的区别