2014-03-05 20 views
0

在我的应用程序中有一些设置保存在Properties.Settings.Default中。这些设置可以由用户进行更改,并需要在本地保存在计算机上。虽然我可以保存这些设置,但问题是只能保存当前登录的用户。一旦用户更改设置,它必须针对计算机的所有用户。我怎样才能做到这一点?WPF Properties.Settings保存和多个用户

回答

1

用户范围设置就是这样,个人用户可以更改的设置,只会为该用户保存。

应用程序作用域设置将影响所有用户,但它们不是由用户设计更改的。

您可能想要考虑一种不同的方法来存储您希望用户能够更改但影响应用程序的所有用户的设置,例如, Windows注册表或外部xml文件。

另一种方法是使用用户作用域设置,但将位置更改为集中位置,以便所有用户都使用/保存相同的设置。有关如何执行此操作的选项,请参见Store user settings into application folder

0

当您打开Visual Studio中的设置设计器窗口中,你有你需要为每个设置输入四个值:

enter image description here

您需要的Scope属性设置为Application有一个设置这对所有用户都是一样的。有关完整故事,请阅读MSDN上的Using Application Settings and User Settings页面。

0

应用程序设置无法更改,只能在应用程序运行之前手动更改,所以我不建议采用这种方法。

在我看来,传播这些变化可能通常是一种糟糕的做法。由于此配置(user.config)通常存储在用户自己的文件夹(位于用户下),因此不应该由其他用户修改(实际上,没有管理员权限,另一个用户甚至无法访问)。

我可能会推荐使用其他地方来存储特定于应用程序的设置:xmlconfig文件靠近您的应用程序或可能是注册表。

0

我会使用外部数据库的东西... 但如果你想快速简单的只是将其保存到硬盘上的文件(例如C:\ Program_Data \\ settings.csv)我会使用一个csv文件,因为它没有太多的工作...