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

时间:2009-09-16 19:37:58

标签: winforms

在我的WinForms应用程序中,我有一些用户输入一些数据的文本框。我想存储数据,但我不想使用数据库。在我的石器时代C ++时代,我只使用.ini。不知何故,app.config似乎不是存储这些数据的正确位置。

我的其他选择是什么?

6 个答案:

答案 0 :(得分:11)

我会说.config文件是正确的地方。请务必使用Settings.settings文件的User范围区域而不是应用程序范围。

这适用于简单数据类型,并且当您需要保存需要保存的固定值时,因为您需要在设计时定义要存储的变量。因此,如果您的文本框是动态创建的,并且您不知道需要存储的许多值,那么它就不是很有用了。

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

答案 1 :(得分:6)

您可以在磁盘上的某个位置创建一个文件夹,只需以任何合适的格式(XML,纯文本,您的选择)编写文件。例如,您可以在Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData)指出的路径下执行此操作。

答案 2 :(得分:3)

我会研究隔离存储。每个用户都很容易设置。由于它只需要部分信任,因此适用于任何部署方案。

选中introduction

答案 3 :(得分:2)

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

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

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

检查this url以获取有关MSDN上应用程序/用户设置的介绍,并this SO url查看类似问题。

您还可以通过按this网址查看特殊文件夹枚举来查看将熟悉的旧.ini文件存储在每个用户.ini中。

答案 4 :(得分:1)

在特定用户的应用程序数据中创建.config或其他数据文件(例如xml)。

使用system.environment.specialfolder获取ApplicationData文件夹,添加一个带有您公司名称的子文件夹,在此子文件夹中包含您的应用程序名称,在此文件中为此特定用户添加。因此,

Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "\\YourCompany\\YourApplication\\YourData.config"

答案 5 :(得分:1)

我认为在WinForms 2.0中存储用户设置的正确位置将在设置文件(而不是配置文件)中。 Here's快速解释文章。