重新启动应用程序后恢复应用程序设置

时间:2012-12-29 18:03:40

标签: c# runtime settings restart

我有一个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值。我做错了什么?

3 个答案:

答案 0 :(得分:2)

我在这里找到了一个解决方案:

http://social.msdn.microsoft.com/Forums/en-US/csharpgeneral/thread/ddeaca86-a093-4997-82c9-01bc0c630138/

我只需更改并保存我的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();

保存