【问题标题】:.NET form that preserves text fields across sessions?跨会话保留文本字段的.NET 表单?
【发布时间】:2009-01-22 15:36:20
【问题描述】:

它是一个简单的配置应用程序,有 4 个复选框和 5 个文本框,所有值都必须跨会话保持。

我是否必须对字段进行序列化并手动恢复它们?我真的不知道解决这个问题的最佳方法。

【问题讨论】:

    标签: c# .net winforms user-interface


    【解决方案1】:

    您可以使用用户设置,在加载时读取值并在退出时保存。

    您可以在运行时here 找到有关设置以及如何检索和保存设置的信息。

    【讨论】:

      【解决方案2】:

      如果你在谈论一个理想的解决方案,你应该考虑使用MVC(win forms不鼓励),这样你关心的所有数据都在一个封装的、非UI绑定的对象中(即模型)。 UI 表单从数据中自行填充,当表单被拆除时,应用程序可以检索数据。如果数据对象实现了 ISerializable,那么您就大功告成了。

      如果您说的是权宜之计,并且绝对确定它永远不需要增长或更改(这永远不会发生 - 我只在一次性应用程序中这样做),那么我会抓取表单内容并将它们写入适当的位置(用户设置、数据文件等)。

      如果您正在谈论构建一些东西,使其尽可能简单,而不必担心它,我会考虑使用data binding,或者创建一个映射对象了解如何将数据从对象映射到 UI 元素并再次映射出来(例如,您可以子类化主要表单元素以包含名称字段或使用初始文本字段来找出在可序列化哈希表或属性中查找的键可序列化对象中的名称)。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-04-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多