Paramètres d'application

Mise à jour : novembre 2007

Les paramètres d'application vous permettent de stocker et de récupérer dynamiquement des paramètres de propriété et d'autres informations pour votre application. Ils vous permettent également de gérer les préférences personnalisées d'utilisateur et d'application sur l'ordinateur client. Il s'agit généralement de données (telles qu'une chaîne de connexion) critiques pour l'exécution de l'application et que vous ne souhaitez pas inclure directement dans le code de l'application. Vous pouvez stocker deux chaînes de connexion différentes à une base de données et en récupérer une au moment de l'exécution selon l'emplacement de l'ordinateur. Ou bien vous pouvez stocker les préférences de couleur d'un utilisateur, puis les récupérer à la prochaine exécution de l'application.

Notez que les paramètres d'application sont une fonctionnalité Visual Studio qui remplace la fonctionnalité des propriétés dynamiques des versions antérieures (pour plus d'informations sur les propriétés dynamiques, consultez Configuration d'applications à l'aide de propriétés dynamiques).

Chaque paramètre d'application doit avoir un nom unique. Celui-ci peut être toute combinaison de lettres, de nombres ou de traits de soulignement, ne commençant pas par un nombre et ne contenant pas d'espaces. Le nom peut être modifié via la propriété Name.

Les paramètres d'application peuvent être stockés comme n'importe quel type de données sérialisable par XML ou ayant un TypeConverter qui implémente ToString/FromString. Les types les plus courants sont String, Integer et Boolean, mais vous pouvez également stocker des valeurs en tant que Color, Object ou chaîne de connexion.

Les paramètres d'application contiennent également une valeur. La valeur est définie avec la propriété Value et doit correspondre au type de données du paramètre.

De plus, les paramètres d'application peuvent être liés à une propriété d'un formulaire ou d'un contrôle au moment du design. Pour plus d'informations, consultez Comment : ajouter ou supprimer des paramètres d'application.

Selon la portée, on distingue deux types de paramètres d'application :

  • Les paramètres de portée application peuvent être utilisés pour des informations telles qu'une URL pour un service Web ou une chaîne de connexion à une base de données. Ces valeurs sont associées à l'application. Par conséquent, les utilisateurs ne peuvent pas les modifier au moment de l'exécution.

  • Les paramètres de portée utilisateur peuvent être utilisés pour des informations telles que la persistance de la dernière position d'un formulaire ou d'une préférence de police. Les utilisateurs peuvent modifier ces valeurs au moment de l'exécution.

Vous pouvez modifier le type d'un paramètre à l'aide de la propriété Scope.

Le système de projet stocke les paramètres d'application dans deux fichiers XML : un fichier app.config, créé au moment du design lorsque vous créez le premier paramètre d'application ; et un fichier user.config, créé au moment de l'exécution lorsque l'utilisateur qui exécute l'application modifie la valeur d'un paramètre utilisateur. Notez que les modifications apportées aux paramètres utilisateur ne sont pas écrites sur le disque, sauf si l'application appelle spécifiquement une méthode pour le faire.

Créer les paramètres d'application au moment du design

Au moment du design, vous pouvez créer des paramètres d'application de deux manières : avec la page Paramètres du Concepteur de projets ou avec la fenêtre Propriétés pour un formulaire ou un contrôle, ce qui vous permet de lier un paramètre à une propriété. Pour plus d'informations, consultez Comment : ajouter ou supprimer des paramètres d'application.

Lorsque vous créez un paramètre de portée application (par exemple, une chaîne de connexion à une base de données ou une référence aux ressources du serveur), Visual Studio l'enregistre dans app.config avec la balise <applicationSettings>. (Les chaînes de connexion sont enregistrées sous la balise <connectionStrings>.)

Lorsque vous créez un paramètre de portée utilisateur (par exemple, une police par défaut, une page d'accueil ou une taille de fenêtre), Visual Studio l'enregistre dans app.config avec la balise <userSettings>.

Note de sécurité :

Lorsque vous stockez des chaînes de connexion dans app.config, vous devez prendre des précautions pour éviter de révéler des informations sensibles, telles que des mots de passe ou des chemins d'accès au serveur, dans la chaîne de connexion.

Si vous obtenez une information de chaîne de connexion à partir d'une source externe, par exemple un utilisateur qui fournit un ID d'utilisateur et un mot de passe, vous devez veiller à ce que les valeurs utilisées pour construire votre chaîne de connexion ne contiennent pas de paramètres de chaîne de connexion supplémentaires qui modifient le comportement de votre connexion.

Envisagez l'utilisation de la fonctionnalité de configuration protégée pour chiffrer les informations sensibles dans le fichier de configuration. Consultez Protection des informations de connexion (ADO.NET) pour plus d'informations.

Remarque :

Étant donné qu'il n'y a aucun modèle de fichier de configuration pour les bibliothèques de classes, les paramètres d'application ne s'appliquent pas aux projets Bibliothèque de classes. L'exception est un projet de DLL Visual Studio Tools pour Office, qui peut avoir un fichier de configuration.

Utilisation des fichiers de paramètres personnalisés

Vous pouvez ajouter des fichiers de paramètres personnalisés à votre projet pour une gestion pratique des groupes de paramètres. Comme les paramètres contenus dans un fichier unique sont chargés et enregistrés en tant qu'unité, la capacité à stocker les paramètres dans des fichiers séparés pour les groupes utilisés fréquemment et ceux utilisés rarement peut économiser du temps en termes de chargement et d'enregistrement des paramètres.

Par exemple, vous pouvez ajouter un fichier tel que SpecialSettings.settings à votre projet. Tandis que votre classe SpecialSettings n'est pas exposée dans l'espace de noms My, le mode Afficher le code peut lire le fichier des paramètres personnalisés qui contient Partial Class SpecialSettings.

Le Concepteur de paramètres recherche en premier le fichier Settings.settings que le système de projet crée ; il s'agit du fichier par défaut que le Concepteur de projets affiche dans l'onglet Paramètres. Settings.settings est localisé dans le dossier My Project pour les projets Visual Basic et dans le dossier Propriétés pour les projets Visual C#. Comme le Concepteur de projets recherche ensuite d'autres fichiers de paramètres dans le dossier racine du projet, vous devez mettre votre fichier de paramètres personnalisés à cet emplacement. Si vous ajoutez un fichier .settings ailleurs dans votre projet, le Concepteur de projets ne sera pas capable de le trouver.

Accéder ou modifier les paramètres d'application au moment de l'exécution en Visual Basic

Dans les projets Visual Basic, vous pouvez accéder aux paramètres d'application au moment de l'exécution à l'aide de l'objet My.Settings. Sur la page Paramètres, cliquez sur le bouton Afficher le code pour afficher le fichier Settings.vb. (Pour plus d'informations, consultez Comment : accéder aux événements Settings.) Settings.vb définit la classe Settings qui vous permet de gérer ces événements sur la classe de paramètres : SettingChanging, PropertyChanged, SettingsLoaded et SettingsSaving. Notez que la classe Settings dans Settings.vb est une classe partielle qui affiche uniquement le code appartenant à l'utilisateur, non pas l'intégralité de la classe générée. Pour plus d'informations sur l'accès aux paramètres d'application à l'aide de l'objet My.Settings, consultez Accès aux paramètres d'application.

Les valeurs de tous les paramètres de portée utilisateur modifiés par l'utilisateur au moment de l'exécution (par exemple, la position d'un formulaire) sont stockées dans un fichier user.config. Notez que les valeurs par défaut restent enregistrées dans app.config.

Si vous avez modifié des paramètres de portée utilisateur au cours de l'exécution, en testant l'application par exemple, et souhaitez réinitialiser ces paramètres à leurs valeurs par défaut, cliquez sur le bouton Synchroniser. Pour plus d'informations sur ce contrôle, consultez Paramètres, page du Concepteur de projets.

Nous vous recommandons fortement d'utiliser l'objet My.Settings et le fichier .settings par défaut pour accéder aux paramètres. En effet, vous pouvez utiliser le Concepteur de paramètres pour assigner des propriétés aux paramètres ; en outre, les paramètres utilisateur sont enregistrés automatiquement avant l'arrêt de l'application. Toutefois, votre application Visual Basic peut accéder directement aux paramètres. Dans ce cas, vous devez accéder à la classe MySettings et utiliser un fichier .settings personnalisé à la racine du projet. Vous devez également enregistrer les paramètres utilisateur avant de terminer l'application, comme vous le feriez pour une application C# (voir la section suivante).

Accéder ou modifier les paramètres d'application au moment de l'exécution en Visual C#

Dans les langages autres que Visual Basic, tels que Visual C#, vous devez accéder directement à la classe Settings.

Vous devez également appeler explicitement la méthode Save de cette classe wrapper pour conserver les paramètres utilisateur. Cela s'effectue habituellement dans le gestionnaire d'événements Closing du formulaire principal. Pour obtenir un exemple spécifique de la façon de créer des paramètres d'application et de les lier aux propriétés d'un formulaire, consultez Comment : créer des paramètres d'application à l'aide du concepteur. Pour plus d'informations sur l'accès aux paramètres d'application à l'aide de la classe Settings, consultez Vue d'ensemble des paramètres d'application.

Voir aussi

Tâches

Comment : ajouter ou supprimer des paramètres d'application

Comment : accéder aux événements Settings

Concepts

Accès aux paramètres d'application

Référence

Paramètres, page du Concepteur de projets

Autres ressources

Gestion des paramètres de l'application