【发布时间】:2011-02-19 17:21:52
【问题描述】:
基本上我的项目是一个 MDI Winform 应用程序,用户可以通过添加各种控件和更改布局来自定义界面。我希望能够为每个用户保存应用程序的状态。
我做了很多搜索,找到了这些:
How to auto save and auto load all properties in winforms C#?
Save WinForm or Controls to File
据我所知,最好的方法是将数据序列化为 XML,但是 winform 控件不可序列化,所以我会使用代理类:
http://www.codeproject.com/KB/dotnet/Surrogate_Serialization.aspx
现在,我需要为每个控件编写一个代理类吗?我需要编写某种递归算法来保存我的所有控件,实现这一目标的最佳方法是什么?然后我将如何恢复所有的窗口,我应该使用 memento 设计模式吗?如果我以后想实现多个用户,我应该使用 Nhibernate 将所有对象数据存储在数据库中吗?我仍在努力解决这个问题,如果有人有任何经验或建议,我将不胜感激,谢谢
【问题讨论】:
-
表单和控件可以正常工作,我只是想让它持久化。
-
还有表单设置选项,但事实证明它对于我正在使用的控件来说不够健壮。
标签: c# .net xml winforms serialization