如何在应用程序打开时更改应用程序设置(设置)?
问题描述:
我写了一个类,应该让我轻松地阅读和应用程序设置写值:如何在应用程序打开时更改应用程序设置(设置)?
public static class SettingsManager
{
public static string ComplexValidationsString
{
get { return (string)Properties.Settings.Default["ComplexValidations"]; }
set
{
Properties.Settings.Default["ComplexValidations"] = value;
Properties.Settings.Default.Save();
}
}
问题是值是不是真的得救了,我的意思是,当我离开它没有改变应用程序并再次运行它。我能做些什么来确保保存的值在关闭和重新打开之间仍然存在?
答
您应该检查
Properties.Settings.Default.Properties["ComplexValidations"].IsReadOnly
这可能是真的,这是罗兰“适用范围”的意思。保存将失败默默。看看项目|属性|设置,第3列。
答
您确定它没有保存更改吗? bin文件夹中的[ProgramName] .exe.config文件将不会更新。所用的acutal文件通常放在C:\Documents and Settings\[user]\Local Settings\Application Data\[company name]\[application].exe[hash string]\[version]\user.config
。我知道当我尝试这种事情时,我花了一段时间才意识到这是正在更新的文件。
答
我只是测试的用户设置,如果你运行该控制台应用程序两次是坚持:
class Program
{
static void Main(string[] args)
{
Console.WriteLine(Settings1.Default.Setting);
Console.ReadLine();
Settings1.Default.Setting = "A value different from app.config's";
Settings1.Default.Save();
}
}
只是尝试一下。它不会花一分钟。
这应该是保存,我没有看到它在我眼里有任何问题。 – ThePower 2009-07-23 10:26:46