[英]Save/load controls made inside C# windows forms
我正在开发一个程序,用户将控件(如图片框,标签等)添加到组合框中,我希望能够将他的工作保存到文件中以便以后打开它,我只使用xml以前,我想知道你的意见,你认为将控件保存到xml文件是一个很好的解决方法吗? 或者也许通过循环所有控件将所有数据传递给一个循环器? 或者另一种解决方案,我想知道在这种情况下你推荐什么。
提前谢谢DavidN
他们说不要重新发明轮子,但你可以通过无数种方式做到这一点。 这实际上取决于用户的风格,格式和受众。 有时候我喜欢用简单的txt样式文件做任何事情,这样任何人都可以轻松编辑信息。 XML将使您能够更轻松地组织您的信息,这可能会更好。 这真的取决于你,我会说你更舒服的任何事情。 我个人会使用我自己的小算法来搜索普通的txt文件,但那是因为我没有使用XML。
您应该创建一个仅用于处理保存和加载文件的类。
就像是
public class CustomControls
{
//more code
public void AddCustomControl(Control x) { }
public void RemoveCustomControl(Control x) { }
public void UndoControl() { }
public void RedoControl() { }
public void SaveControls(string file){}
public void LoadControls(string file){}
//more code
}
我认为在您开始处理保存和加载的类之后,您将更清楚地了解什么会使您和最终用户更容易。
*您还会注意到,您可能希望跟踪通过理论CustomControls类添加的自定义控件,否则您将不得不以某种方式传递它们。 我不建议循环遍历所有表单控件,而是通过CustomControls类跟踪您动态添加的内容。 这还可以实现撤消和重做等功能。
如果我需要做出决定,我会尝试实现xml,devExpress使用xml来达到这个目的。 看看以下链接
http://documentation.devexpress.com/#WindowsForms/CustomDocument4879
该示例非常易于使用,但我不知道是否很难实现。
navBarControl1.SaveToXml("c:\\NavBarLayout.xml");
navBarControl2.RestoreFromXml("c:\\NavBarLayout.xml");
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.