如何保存用户的C#表单配置?[英] How to save user C# form configuration?

问题描述

假设有人向任何客户提出申请,

这位客户想关闭他的应用程序并在第二天打开它时
他找到了他配置的所有表单配置.

我想为所有表单工具执行此操作,例如
图片框中的所有图像,所有单选按钮状态等等,

解决方案
我可以提供更多选项来在不同运行之间保持您的应用程序状态.这个选项是持久化实现中最简单的 it 术语;同时,它是最通用的,非侵入式的,有利于维护,尤其是向后兼容.

您可以使用数据契约.请参阅 http://msdn.microsoft.com/en-us/library/ms733127.aspx[^].

这个想法是:您创建应用程序状态的数据模型 - 只有状态,它应该涵盖所有内容:所有窗口、加载的文档、所有选择等.这应该只是一组数据类和类的实例将形成一些完全描述状态的对象图.您只需要两种方法:一种是根据实际应用程序状态填充数据,另一种是根据数据填充 UI 以重现之前保存的状态.

其余的通过数据合约完成.要定义合约,您不应修改数据类中的任何内容;您只需要为合约的类型和成员添加一些属性.您甚至不需要更改访问修饰符以使其成为内部或公共的——它们可以是私有的,并且仍然是合同的一部分.数据契约序列化器保证整个对象图的存储和准确加载,就像它之前保存的一样.

请参阅我过去的答案,我提倡这种全面且易于实施的方法:
如何在我的表单申请?[^],
创建属性文件...[^],
反序列化 json 字符串数组[^].

—SA

不难.对你来说只是浪费时间.

在 VS 中,打开您的项目,然后查看解决方案资源管理器.
在您的应用程序项目下,打开 Properties 节点.
双击Settings.settings
添加一个具有合理名称的设置属性 - 例如,将其称为 imagePath.将其设置为字符串,并将其范围保留为用户.
关闭设置,必要时保存.
在您的代码中,读取设置:
string imagePath = Properties.Settings.Default.imagePath;

为了拯救他们:
Properties.Settings.Default.imagePath = imagePath;Properties.Settings.Default.Save();


对您希望在运行之间保留的所有对象重复此操作.

这里解释了解决这些场景的更多选项:

http://msdn.microsoft.com/en-us/library/ms973902.aspx[^]

本文地址:https://www.itbaoku.cn/post/1395099.html