.net桌面应用程序 - 如何存储/更改应用程序设置或连接字符串?

时间:2009-11-25 10:35:02

标签: c# .net connection-string desktop-application application-settings

我需要让用户能够更改应用程序设置,在这种情况下是应用程序数据库的位置。我注意到应用程序设置只在运行时读取,但这需要在应用程序范围内,而不是用户特定的。如何在运行时可更改的windows.forms中保留应用程序范围的连接字符串?

2 个答案:

答案 0 :(得分:2)

您可以使用

ConfigurationManager.AppSettings.Set()

另外

ConnectionStringSettings.ConnectionString Property

也可以设置。

Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
config.AppSettings.Settings.Add("test","tada");
config.Save(ConfigurationSaveMode.Minimal, true);

答案 1 :(得分:0)

使用较新的设置类在框架中没有直接的方法 - 您可以使用设置支持而不是应用程序/计算机级别来保存用户级设置。最简单的方法是对一个类进行XmlSerialize并将其存储在一个目录中,该目录在所有用户之间共享 时,如果他们正在运行未提升状态,例如Public Documents文件夹(程序目录不应写入) ),例如Environment.SpecialFolder.CommonApplicationData

编辑:是的,旧的appSettings机制有一种写作方式,但这是个坏消息 - 较新的设置内容省略了这个设施,因为有很多理由试图写入程序文件中的配置文件是坏消息