我创建了一个UserControl,它基本上是一个面板,其中包含用于设置用户首选项和值的各种控件(例如年龄,身高,男/女,......,文本框,单选按钮,复选框等)和它用于主WinForm应用程序。我正在寻找保存用户选择的“最佳”或最简单的方法,以便它们在下一次应用程序加载时保留。
如果控件在主WinForm上,我会使用Properties.Settings方法(但有很多,我不想这样做)。我还考虑过创建保存/加载方法并使用XML序列化,但这需要创建和更新~40个属性。我很喜欢使用XML方法,但我想请问各位好友,看看是否有一种我不知道的简单方法。
谢谢!
答案 0 :(得分:0)
我认为序列化和数据绑定的组合是可行的方法,只需创建一个包含要保存的所有设置的类,将它们绑定到控件,序列化并在退出表单时加载它们并加载加载表单时它们:
_settings = new Settings()
{
Name = "Name",
Name1 = "Name1",
Name2 = "Name2"
};
textBox1.DataBindings.Add("Text", _settings, "Name");
textBox2.DataBindings.Add("Text", _settings, "Name1");
textBox3.DataBindings.Add("Text", _settings, "Name2");
}
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
XmlSerializer ser = new XmlSerializer(typeof(Settings));
using (Stream stream = File.OpenWrite("settings.xml"))
{
ser.Serialize(stream, _settings);
}
}