0

我正在开发一个程序,用户将图片框、标签等控件添加到组框中,我希望能够将他的工作保存到文件中,以便他以后打开它,我只使用过 xml之前,我想知道你的意见,你认为将控件保存到 xml 文件是解决这个问题的好方法吗?或者也许通过循环所有控件将所有数据通过流写入器?或者另一种解决方案,我想知道你在这种情况下推荐什么。

在此先感谢,大卫N

4

2 回答 2

1

如果我需要做出决定,我会尝试实现 xml,devExpress 为此使用 xml。看看下面的链接

http://documentation.devexpress.com/#WindowsForms/CustomDocument4879

该示例非常易于使用,但我不知道是否很难实现。

navBarControl1.SaveToXml("c:\\NavBarLayout.xml");
navBarControl2.RestoreFromXml("c:\\NavBarLayout.xml");
于 2013-06-05T03:47:36.340 回答
1

他们说不要重新发明轮子,但你可以用无数种方法做到这一点。这实际上取决于用户的风格、格式和受众。有时我喜欢在一个简单的 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 类动态添加的内容。这也将使您能够实现撤消和重做等功能。

于 2013-06-05T03:40:35.857 回答