我有一个C#应用程序,我将某些值存储在这样的设置文件中:
<?xml version="1.0"?>
<configuration>
<configSections>
<sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<section name="VITRIconEvacuationPlan.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false"/>
</sectionGroup>
<sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
<section name="VITRIconEvacuationPlan.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" />
</sectionGroup>
</configSections>
<applicationSettings>
<EvacuationPlan.Properties.Settings>
<setting name="AssemblyCentre" serializeAs="String">
<value>False</value>
</setting>
</EvacuationPlan.Properties.Settings>
</applicationSettings>
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/></startup><userSettings>
<EvacuationPlan.Properties.Settings>
<setting name="SymbolScale" serializeAs="String">
<value>25</value>
</setting>
</EvacuationPlan.Properties.Settings>
</userSettings>
</configuration>
默认情况下,SymbolScale属性设置为25(当我第一次启动应用程序时) 我想在运行时更改SymbolScale属性,因此我将其放入用户范围。所以我可以说:
setting.SymbolScale = 150;
setting.save();
但是当我关闭我的应用程序时,SymbolScale的值再次为25。但是我想让它从运行时存储我的chenged值。我做错了什么?
答案 0 :(得分:2)
我在这里找到了一个解决方案:
我只需更改并保存我的SymbolValue:
Properties.Settings.Default.SymbolScale = 150;
Properties.Settings.Default.Save();
Properties.Settings.Default.Upgrade();
Properties.Settings.Default.Save();
我不知道为什么我必须两次调用保存功能但它有效(并且只调用两次)
答案 1 :(得分:0)
您确定要检查正确的“user.config”文件吗? 通常存储在“C:\ Users \ xyzuser \ AppData \ Local \ yourcompany \ youarpp \ version \ user.config”中。
希望有所帮助!
答案 2 :(得分:0)
将其设置为:Settings.Default.SymbolScale = 150;
使用Settings.Default.Save();