Schéma des paramètres d'application

Les paramètres d'application permettent à une application Windows Forms ou ASP.NET de stocker et de récupérer les paramètres délimités à l’application et à l’utilisateur. Dans ce contexte, un paramètre est n’importe quelle information qui peut être spécifique à l’application ou spécifique à l’utilisateur actuel, qu’il s’agisse d’une chaîne de connexion de base de données à la taille de fenêtre par défaut préférée de l’utilisateur.

Par défaut, les paramètres d’application d’une application Windows Forms utilisent la classe LocalFileSettingsProvider, qui utilise le système de configuration .NET pour stocker les paramètres dans un fichier de configuration XML. Pour plus d’informations sur les fichiers utilisés par les paramètres d’application, consultez Architecture des paramètres d’application.

Important

La plupart des sections de configuration définies par .NET Framework ne sont plus fonctionnelles dans les versions .NET 6+ et .NET Core. ConfigurationManager est uniquement fourni pour la compatibilité. Au lieu d’app.config, le .NET moderne utilise le fichier appsettings.json pour les paramètres d’application. Consultez Moderniser après la mise à niveau vers .NET à partir de .NET Framework.

Supprimer l’utilisation dans app.config et appelez l’API correspondante, si disponible, pour faire le même paramètre. Pour plus d’informations, consultez Configuration dans .NET.

Les paramètres d’application définissent les éléments suivants dans les fichiers de configuration qu’il utilise.

Élément Description
<applicationSettings> Contient toutes les balises <setting> spécifiques à l’application.
<userSettings> Contient toutes les balises <setting> spécifiques à l’utilisateur actuel.
<setting> Définit un paramètre. Enfant d’applicationSettings<> ou de <userSettings>.
<value> Définit la valeur d’un paramètre. Enfant de <setting>.

Élément <applicationSettings>

Cet élément contient toutes les balises <setting> spécifiques à une instance de l’application sur un ordinateur client. Il ne définit aucun attribut.

Élément <userSettings>

Cet élément contient toutes les balises <setting> spécifiques à l’utilisateur qui utilise actuellement l’application. Il ne définit aucun attribut.

Élément <setting>

Cet élément définit un paramètre. L’élément a les attributs suivants.

Attribut Description
name Obligatoire. ID unique du paramètre. Les paramètres créés via Visual Studio sont enregistrés avec le nom ProjectName.Properties.Settings.
serializeAs Obligatoire. Format à utiliser pour sérialiser la valeur en texte. Les valeurs autorisées sont :

- string. La valeur est sérialisée en tant que chaîne à l’aide d’un TypeConverter.
- xml. La valeur est sérialisée à l’aide de la sérialisation XML.
- binary. La valeur est sérialisée en tant que binaire codé en texte à l’aide de la sérialisation binaire.
- custom. Le fournisseur de paramètres a une connaissance inhérente de ce paramètre et le sérialise et désérialise.

Ajoutez les noms des paramètres que vous créez dans <applicationSettings> sous forme d’entrées sous l’élément <configSections> en haut du fichier. Par exemple :

<configuration>
    <configSections>
        <sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
            <section name="WindowsFormsApp1.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" />
            <section name="WindowsFormsApp1.Properties.MyCustomSettings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" />
        </sectionGroup>
    </configSections>
    ...
</configuration>

Élément <value>

Cet élément contient la valeur d’un paramètre.

Exemple

L’exemple suivant montre un fichier de paramètres d’application qui définit deux paramètres d’étendue d’application et deux paramètres d’étendue utilisateur :

<?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="WindowsApplication1.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
    </sectionGroup>
    <sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
      <section name="WindowsApplication1.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" />
    </sectionGroup>
  </configSections>
  <applicationSettings>
    <WindowsApplication1.Properties.Settings>
      <setting name="Cursor" serializeAs="String">
        <value>Default</value>
      </setting>
      <setting name="DoubleBuffering" serializeAs="String">
        <value>False</value>
      </setting>
    </WindowsApplication1.Properties.Settings>
  </applicationSettings>
  <userSettings>
    <WindowsApplication1.Properties.Settings>
      <setting name="FormTitle" serializeAs="String">
        <value>Form1</value>
      </setting>
      <setting name="FormSize" serializeAs="String">
        <value>595, 536</value>
      </setting>
    </WindowsApplication1.Properties.Settings>
  </userSettings>
</configuration>

Voir aussi