代码之家  ›  专栏  ›  技术社区  ›  Dustin Getz sunsations

.NET窗体是否在会话之间保留文本字段?

  •  1
  • Dustin Getz sunsations  · 技术社区  · 16 年前

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

    是否必须序列化字段并手动还原它们?我真的不知道最好的方法来解决这个问题。

    2 回复  |  直到 16 年前
        1
  •  5
  •   mapache    13 年前

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

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

        2
  •  0
  •   plinth    16 年前

    如果你说的是一个理想的解决方案,你应该考虑使用 MVC (Win表单不鼓励这样做),因此您关心的所有数据都包含在一个封装的、非UI绑定的对象(即模型)中。用户界面表单从数据中填充自己,当表单被拆掉时,应用程序可以检索数据。如果数据对象实现了ISerializable,那么就差不多完成了。

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

    如果你说的是构建一个尽可能简单的东西,永远,永远,永远,永远,永远,永远,永远,我会看到使用 data binding 或者创建一个映射对象,该对象了解如何将数据从对象映射到UI元素,然后再向外映射(例如,您可以将主表单元素子类化以包含名称字段,或者使用初始文本字段找出要在可序列化哈希表中查找的键,或者可序列化对象中的属性名称)。