Guarde y vuelva a cargar app.config (applicationSettings) en tiempo de ejecución

He almacenado la configuración de mi aplicación en app.config, por Visual Studio, he creado alguna clave de aplicación en la pestaña de configuración del cuadro de diálogo de propiedades del proyecto, luego configuré esta clave a nivel de aplicación (NO a nivel de usuario) .

Visual Studio genera automáticamente el siguiente archivo xml (app.config):

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <configSections>
        <sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
            <section name="AleTest.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
        </sectionGroup>
    </configSections>
    <applicationSettings>
        <AleTest.Properties.Settings>
            <setting name="DatabasePath" serializeAs="String">
                <value>Test.s3db</value>
            </setting>
            <setting name="DatabaseUser" serializeAs="String">
                <value />
            </setting>
            <setting name="DatabasePass" serializeAs="String">
                <value />
            </setting>
        </AleTest.Properties.Settings>
    </applicationSettings>
</configuration>

Ahora quiero guardar y volver a cargar la configuración en tiempo de ejecución, aquí está mi código que permite guardar el valorDatabasePath en el archivo de configuración:

Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);

ConfigurationSectionGroup applicationSectionGroup = config.GetSectionGroup("applicationSettings");
ConfigurationSection applicationConfigSection = applicationSectionGroup.Sections["AleTest.Properties.Settings"];
ClientSettingsSection clientSection = (ClientSettingsSection)applicationConfigSection;

//Database Configuration Setting
SettingElement applicationSetting = clientSection.Settings.Get("DatabasePath");
applicationSetting.Value.ValueXml.InnerXml = this.textBoxPath.Text.Trim();

applicationConfigSection.SectionInformation.ForceSave = true;
config.Save();

El problema es que con este código, la aplicación no carga la nueva configuración hasta que la reinicio; ¿Hay alguna manera de volver a cargar la configuración en tiempo de ejecución?

También quiero reemplazar el valor fijo del nombre deapplicationSettings sección (AleTest.Properties.Settings) con un valor variable, existe una variable en el marco que asume este valor (AleTest.Properties.Settings)?

Respuestas a la pregunta(4)

Su respuesta a la pregunta