这听起来可能太琐碎了,我按照文章中的建议做了同样的事情,但它并没有像预期的那样工作。希望有人能给我指引正确的方向。
我想保存每个AppSettings的用户设置。
一旦Winform关闭,我将触发此操作:
conf.Configuration config =
ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
if (ConfigurationManager.AppSettings["IntegrateWithPerforce"] != null)
ConfigurationManager.AppSettings["IntegrateWithPerforce"] =
e.Payload.IntegrateCheckBox.ToString();
else
config.AppSettings.Settings.Add("IntegrateWithPerforce",
e.Payload.IntegrateCheckBox.ToString());
config.Save(ConfigurationSaveMode.Modified);
因此,第一次当条目还不存在时,它将简单地创建它,否则它将修改现有的条目。然而,这并不能节省时间。
1)我做错了什么?
2)我希望应用程序设置的用户设置再次保存在哪里?它是在Debug文件夹中还是在C:\Documents and Settings\USERNAME\Local Settings\Application Data文件夹中?
发布于 2011-03-11 23:38:26
也许您应该考虑添加一个设置文件。(例如App.Settings)创建此文件将允许您执行以下操作:
string mysetting = App.Default.MySetting;
App.Default.MySetting = "my new setting";
这意味着您可以编辑项目,然后更改项目,其中项目是强类型的,最重要的是...在部署之前,您不必接触任何xml!
结果是应用程序或用户上下文设置。
查看设置文件的"add new item“菜单。
发布于 2014-11-06 19:29:39
我知道我迟到了:)但我是这样做的:
public static void AddOrUpdateAppSettings(string key, string value)
{
try
{
var configFile = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
var settings = configFile.AppSettings.Settings;
if (settings[key] == null)
{
settings.Add(key, value);
}
else
{
settings[key].Value = value;
}
configFile.Save(ConfigurationSaveMode.Modified);
ConfigurationManager.RefreshSection(configFile.AppSettings.SectionInformation.Name);
}
catch (ConfigurationErrorsException)
{
Console.WriteLine("Error writing app settings");
}
}
有关更多信息,请查看MSDN
发布于 2011-11-29 23:52:02
有关如何更改app.config文件中appSettings节中的值的信息:
config.AppSettings.Settings.Remove(key);
config.AppSettings.Settings.Add(key, value);
就能完成这项工作。
当然,更好的做法是使用Settings类,但这取决于你想要什么。
https://stackoverflow.com/questions/5274829
复制相似问题