代码之家  ›  专栏  ›  技术社区  ›  JMP

我应该如何在WinForms中存储每个用户的数据?

  •  5
  • JMP  · 技术社区  · 17 年前

    在我的WinForms应用程序中,我有几个文本框,用户在其中键入了一些数据。我想存储数据,但不想使用数据库。在我的石器时代C++中,我只会使用.ini。然而,app.config似乎不是存储这些数据的合适位置。

    我的其他选择是什么?

    6 回复  |  直到 17 年前
        1
  •  12
  •   auujay    12 年前

    我认为.config文件是正确的位置。只要确保使用 User Settings.Settings文件的作用域区域,而不是应用程序作用域。

    这对于简单的数据类型和需要保存的固定值非常有效,因为您需要定义在设计时要存储的变量。因此,如果您的文本框是动态创建的,并且您不知道需要存储多少值,那么它就没有多大用处。

    使用 IsolatedStorage 可能是另一个好的选择。您可以创建自己想要的任何格式的文件(保留所需的任何值),并将其存储到本地计算机的“IsolatedStorage”中。

        2
  •  6
  •   Fredrik Mörk    17 年前

    您可以在磁盘上的某个位置创建一个文件夹,只需以任何合适的格式(XML、纯文本,由您选择)编写一个文件即可。例如,您可以按照 Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) 或 Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData) .

        3
  •  3
  •   Tor Haugen    17 年前

    我会查看隔离存储。它很容易为每个用户设置。而且因为它只需要部分信任,所以它适用于任何部署场景。

    introduction .

        4
  •  2
  •   Community Mohan Dere    9 年前

    根据需要保存的变量/数据的数量,app.config/settings文件可能是理想的保存位置。

    查看项目属性中的“设置”选项卡,请注意,您可以同时设置应用程序设置和用户设置。应用程序设置会影响整个应用程序。用户设置按用户存储。

    app.config中包含用户设置的部分将在保存时保存到用户目录,并在重新启动应用时重新合并。

    检查 this url this SO url 对于一个类似的问题:

    您还可以查看将您熟悉的旧.ini文件存储在每个用户的.ini文件中,方法是按照 this 网址。

        5
  •  1
  •   ftank99    17 年前

    我认为在WinForms 2.0中存储用户设置的正确位置应该是设置文件(而不是配置文件)。 Here's 一篇简短的解释文章。

        6
  •  1
  •   Timeless    9 年前

    使用 system.environment.specialfolder

    Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "\\YourCompany\\YourApplication\\YourData.config"
    
    推荐文章