Configuration 在app.config文件中写入/读取用户定义的设置

Configuration 在app.config文件中写入/读取用户定义的设置,configuration,app-config,delphi-prism,read-write,Configuration,App Config,Delphi Prism,Read Write,我正在尝试读取和写入用户设置的app.config文件。我找到了一段使用confige文件的代码。我终于编译并运行了它,但它似乎对App.config文件毫无作用 代码如下: Method MainForm1.Button1.Click(sender: System.Object; e: System.EventArgs); var config : System.Configuration.Configuration; begin config:=ConfigurationMana

我正在尝试读取和写入用户设置的app.config文件。我找到了一段使用confige文件的代码。我终于编译并运行了它,但它似乎对App.config文件毫无作用

代码如下:

Method MainForm1.Button1.Click(sender: System.Object; e: System.EventArgs);
var
config  : System.Configuration.Configuration;
begin
     config:=ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
     config.AppSettings.Settings.Add('PreferenceToRemember','value1');
     config.Save(ConfigurationSaveMode.Modified);
     ConfigurationManager.RefreshSection('appSettings');
end;
它正在编译,没有任何错误,但我不知道它是否在做任何事情

代码有什么问题吗?我需要能够写入/读取节和写入/读取键/值。提前谢谢

更新:我不使用ConfigurationManager,只使用Properties.Settings.Default。然而,我在写入和读取时遇到了一点问题,尽管程序符合要求,没有任何错误,代码看起来也很简单。


如何从代码中读取和写入Properties.Settings.Default?

可能您查看的文件不正确? 解决方案中的app.config将复制到bin/Debug或bin/Release文件夹中的YourProgramFile.exe.config。运行程序时,它将更新此文件,而不是解决方案中的app.config文件

然后,也许您还应该检查应用程序文件夹的写入权限。通常(Win Vista,Win 7)执行应用程序的用户在应用程序应该驻留的Program Files文件夹中没有写入权限,因此更新.config很可能会由于缺少写入权限而失败。对于Linux/Unix系统来说更是如此


您应该尝试分离需要写入的元素,并在特定于用户的文件夹中写入其他配置文件。您可以从正常的应用程序配置中获取默认值,只需更新特定于用户的配置文件,这样,您就不会受到文件权限的阻碍,每个用户都可以专门更新其设置。

请参阅此堆栈溢出回答:您可以使用以下代码访问properties.settings值-MainForm.Top:=properties.settings.Default.item['MainFormTop'];看看这篇文章。与其存储顶部、左侧、高度和宽度,不如存储位置(包括顶部+左侧)和大小(包括高度+宽度):