我只是想知道是否有人对如何保存C#Winform设置有任何意见?
目前,我有一个包含各种单选按钮,目录浏览器,日期选择器等的表单。我想知道将这些设置保存到可以在以后加载的外部文件的最佳策略是什么。因此,基本上可以加载,执行每个配置,然后加载另一个配置。此外,配置可以跨安装/用户传递。
答案 0 :(得分:1)
应用程序范围设置是只读的,只能在设计时更改或在应用程序会话之间更改.exe.config文件。但是,用户范围设置可以在运行时写入,就像更改任何属性值一样。新值在应用程序会话期间保持不变。您可以通过调用Settings.Save方法在应用程序会话之间保留对用户设置的更改。这些设置保存在User.config文件中。
在运行时编写并保留用户设置
Access the user setting and assign it a new value, as shown in the following example:
Properties.Settings.Default.myColor = Color.UserGreen;
如果要在应用程序会话之间保留对用户设置的更改,请调用Save方法,如以下代码所示:
Properties.Settings.Default.Save();
答案 1 :(得分:0)
我用包含所有设置的类或结构解决了这个问题。我的表单类有一个接受这样的设置实例的构造函数。
这个settings-class / -struct正在实现ISerializable。因此,您可以轻松地将其保存到文件中并从中加载。
到目前为止,这不是最好的方法,但它很容易实现。