c# - Properties.Settings.Save() 仅在第一次调用时保存

标签 c# .net datagridview persistence settings

我有一个 DataGridView,其中填充了一个 BindingList。该列表被保存到设置文件中。它可以正确保存和加载。但只会在我第一次调用 Properties.Settings.Save() 时保存。之后,调用 Save() 将不会执行任何操作。

我已验证正在调用 Save(),并且在调用时 BindingList 包含正确的数据。无论我是在列表中添加或删除元素,还是在列表中编辑元素,它只会在第一次调用时保存到 user.config。之后,甚至没有打开 user.config 进行编辑。

有人知道为什么会这样吗?

最佳答案

对 Save 的调用将表示用户属性的类的 IsDirty 属性设置为 false。在将用户属性保存到磁盘之前测试此属性。

如果需要多次调用 Save,请将 IsDirty 属性设置为 true:

Properties.Settings.Default.PropertyValues["property name"].IsDirty = true;

关于c# - Properties.Settings.Save() 仅在第一次调用时保存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2329807/

相关文章:

c# - 如何在 devexpress GridControl 中添加行,就像我们在普通 datagridview 中添加行一样。 (WinForms C#)

c# - 如何在 datagridview 列中显示枚举值

c# - 单元测试类继承自ContextBoundObject并装饰有ContextAttribute

c# - CommandType.Text 与 CommandType.StoredProcedure

c# - 如何从 C# 中的文件路径获取子字符串?

C# GZipStream 到字符串

c# - MSChart 如何更改一系列破折号之间的间距

c# - 每第 N 个字符/数字拆分一个字符串/数字?

c# - 为什么没有像 String.Empty 这样的 Char.Empty?

c# - 如何在 DataGridViewComboBoxCell 中选择一个值?