我只是想知道是否有人对如何保存 C# Winform 设置有任何意见?
目前,我有一个包含各种单选按钮、目录浏览器、日期选择器等的表单。我想知道将这些设置保存到可以在以后加载的外部文件的最佳策略是什么。因此,基本上每个配置都可以加载、执行,然后加载另一个配置。此外,配置可以跨安装/用户传递。
我只是想知道是否有人对如何保存 C# Winform 设置有任何意见?
目前,我有一个包含各种单选按钮、目录浏览器、日期选择器等的表单。我想知道将这些设置保存到可以在以后加载的外部文件的最佳策略是什么。因此,基本上每个配置都可以加载、执行,然后加载另一个配置。此外,配置可以跨安装/用户传递。
应用程序范围设置是只读的,只能在设计时或通过在应用程序会话之间更改 .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();
我用一个包含所有设置的类或结构解决了这个问题。我的表单类有一个接受这种设置实例的构造函数。
此设置类/结构正在实现 ISerializable。因此,您可以轻松地将其保存到文件中并从中加载。
到目前为止,这不是最好的方法,但它很容易实现。