我正在尝试在DataGridView中显示setting.setting文件的内容。
通过使用BindingSource绑定数据,我成功地完成了这项工作,如下所示
BindingSource bindingSource1 = new BindingSource();
bindingSource1.DataSource = Properties.user.Default.Properties;
settingsDataGridView.DataSource = bindingSource1;
使用此代码,我的DataGridView将填充默认值,如下所示
Setting Name
是只读的
Settings Value
可编辑。
我在表单上提供了一个Save
按钮,其中包含以下代码
OnClick
事件
Properties.user.Default.Save();
我们的想法是控制用户使用简单的界面更改设置。
不幸的是,这不是诀窍。 Save
按钮不会更改settings.settings
文件中的值,并且修改后的数据在应用程序运行之间不会保留。
我的问题:
任何帮助都非常感谢。
答案 0 :(得分:0)
如果使用PropertyGrid也可以:
propertyGrid1.SelectedObject = Properties.Settings.Default;
propertyGrid1.BrowsableAttributes = new AttributeCollection(new UserScopedSettingAttribute());
Properties.Settings.Default.Save();
代码看起来应该类似于:
using System;
using System.ComponentModel;
using System.Configuration;
using System.Windows.Forms;
namespace YourAppNamespace
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
propertyGrid1.SelectedObject = Properties.Settings.Default;
propertyGrid1.BrowsableAttributes = new AttributeCollection(new UserScopedSettingAttribute());
}
private void propertyGrid1_PropertyValueChanged(object s, PropertyValueChangedEventArgs e)
{
Properties.Settings.Default.Save();
}
}
}
如果“设置”文件包含范围“用户”的设置,则应在更改时显示和保存这些设置。