在C#中保存每个用户选项的最佳方法

时间:2009-04-13 17:44:30

标签: c# settings

保存/加载设置的简便方法是什么?如果每个用户都有自己的设置,我更喜欢它。

5 个答案:

答案 0 :(得分:33)

如果这是桌面应用程序,存储应用程序和/或用户特定设置的最佳方法是使用内置方法。 Using Settings in C#

修改

Using Settings in C# Visual Studio 2010

答案 1 :(得分:2)

这在很大程度上取决于应用程序的类型。

如果这是桌面应用程序,您可以将信息保存到用户区域的注册表中。或者进入磁盘上的用户目录。如果这是一个Web或服务器应用程序,则需要将其存储到由用户键入的数据库中,或存储到为每个用户或其他名称命名的磁盘文件中。

由于您提到选项,似乎客户路径更有可能。

答案 2 :(得分:1)

ConfigurationManager运行良好(桌面应用程序)。实质上,您使用app.config xml文件来保存设置。对于大多数基本用途,只需编辑app.config即可。为您要保存的每个设置添加一个键值对...然后访问它,只需执行ConfigurationManager.get .. [“yourKey”],它将返回该设置。设置它几乎是一样的。

答案 3 :(得分:1)

在.Net应用程序中使用Visual Studio中的内置设置选项创建这样的设置 - 值保存在配置文件中,但VS为您提供了一个很好的界面来创建它们和一个.Net类来访问它们强烈打字的方式。您可以通过这种方式创建用户特定设置或应用程序特定设置。

要创建设置文件,请双击Properties文件夹,然后选择Settings选项卡,然后单击链接以创建“settings.settings”文件(是的,好名字!)。执行此操作后,您将看到存储在app.config中的实际设置以及要生成这些内容的自动生成的代码位于Settings.designer.cs中。

答案 4 :(得分:1)

当您说“每个用户都有自己的一组设置”时,您是在谈论同事通过网络或共享计算机上的应用共享的应用吗?

就个人而言,我会去设置文件路径。你可以使用注册表,但这让我很谨慎。在Windows中(假设您在Windows上)有一些地方可以永久存储用户数据,所有您需要做的就是写信给他们。如果你在Vista上,写入注册表可能不是一个选项,除非你想让UAC提示你的用户。

如果您的应用已使用某种SQL后端,请使用它。制作一个设置表或一个键/值包并将其存储在那里。将其序列化为对象,反之亦然,您应该拥有设置管理器的版本1.

查看ConfigurationManagerSpecialFolders,这些应该可以帮助您入门。