C# 将表单元素属性保存到XML(保存控件状态)
我在一些项目中使用xml库保存设置,其工作原理如下:C# 将表单元素属性保存到XML(保存控件状态),c#,xml,forms,save,state,C#,Xml,Forms,Save,State,我在一些项目中使用xml库保存设置,其工作原理如下: saveSettings(Control control, XmlConfig config, string controlName) 然后它将搜索该控件中的所有控件(递归),每次找到新控件时调用自己,等等,并将其所有信息保存到xml文件中,如: 然后把它们装回去 我上次使用它是在框架2中,最近我再次需要它,并重新使用它,它像普通一样保存XML文件,但在加载XML文件后似乎没有更新表单,我似乎无法找到原因,所有代码似乎都是正确的 有人知
saveSettings(Control control, XmlConfig config, string controlName)
然后它将搜索该控件中的所有控件(递归),每次找到新控件时调用自己,等等,并将其所有信息保存到xml文件中,如:
然后把它们装回去
我上次使用它是在框架2中,最近我再次需要它,并重新使用它,它像普通一样保存XML文件,但在加载XML文件后似乎没有更新表单,我似乎无法找到原因,所有代码似乎都是正确的
有人知道一个好的替代者吗?(默认的应用程序设置使用了一种非常糟糕的方法,但是指定要保存的控件的方法要简单得多,并且在任何地方都可以使用)
提前感谢=)好吧,我这么做了,但比你描述的更明确。不久前,我整合了一组接口和类来支持这一点。它们的使用方式如下所示:
readonly ObjectSerializer _serializer;
public MyForm()
{
_serializer = new ObjectSerializer(this,
"Top", "Left", "Height", "Width",
"_splitter.SplitterDistance");
_serializer.ContinueOnError = true;
}
private void Form_Load(object sender, EventArgs e)
{
_serializer.Deserialize(new CSharpTest.Net.Serialization.StorageClasses.UserSettingStorage());
}
void Form_Closing(object sender, FormClosingEventArgs e)
{
_serializer.Serialize(new CSharpTest.Net.Serialization.StorageClasses.UserSettingStorage());
}
正在使用的库“CSharpTest.Net.library.dll”位于:
此ObjectSerializer在哪里?(using语句)找到了它,但是,以后如何保存它?我没有看到获取代码的方法:/Serialize和Deserialize是无效的