2009-09-16 59 views
5

在我的WinForms应用程序中,我有几个用户键入数据的文本框。我想存储数据,但我不想使用数据库。在我的石器时代的C++日子里,我只是使用.ini。不知何故,app.config似乎并不是存储这些数据的正确地方。我应该如何在WinForms中存储每个用户的数据?

我的其他选择是什么?

回答

11

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

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

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

+0

更好的答案! +1。 – 2009-09-16 19:53:15

6

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

+0

你和我,我们都这么想。 :-) +1,并且很好的回答! – 2009-09-16 19:49:35

3

我会看看孤立的存储。很容易设置每个用户。而且由于它只需要部分信任,它将适用于任何部署方案。

检查此introduction

1

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

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

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

我相信在WinForms 2.0中存储用户设置的适当位置将在设置文件(不是配置文件)中。 Here's快速文章的解释。

2

取决于您想要保存app.config/settings文件的变量/数据的数量可能是理想的地方。

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

包含用户设置的app.config部分保存到用户目录,当它们在重新启动应用程序时被保存并重新组合。

检查this url的介绍,在MSDN上的应用/用户设置并this SO url了一个类似的问题:

你也可以考虑通过查看存储在每个用户的.ini您熟悉的旧.ini文件根据this网址,特殊文件夹枚举。

相关问题