Vue d'ensemble des paramètres d'application

Mise à jour : novembre 2007

Cette rubrique indique comment créer et stocker des données de paramètres pour votre application et vos utilisateurs.

La fonctionnalité Paramètres de l'application des Windows Forms facilite la création, le stockage et la gestion d'applications personnalisées et de préférences utilisateur sur l'ordinateur client. Grâce aux paramètres d'application Windows Forms, vous pouvez stocker non seulement des données d'application, telles que des chaînes de connexion à une base de données, mais également des données spécifiques à l'utilisateur, telles que les préférences de l'application utilisateur. L'utilisation de Visual Studio ou de code managé personnalisé permet de créer de nouveaux paramètres, de les lire et de les écrire sur le disque, de les lier aux propriétés dans vos formulaires et de valider des données de paramètres avant le chargement et l'enregistrement.

Les paramètres d'application permettent aux développeurs d'enregistrer l'état dans leur application avec très peu de code personnalisé, et remplacent les propriétés dynamiques dans les versions précédentes du .NET Framework. Les paramètres d'application contiennent de nombreuses améliorations par rapport aux propriétés dynamiques, qui sont en lecture seule, à liaison tardive et requièrent davantage de programmation personnalisée. Les classes de propriétés dynamiques ont été conservées dans .NET Framework version 2.0, mais elles constituent simplement des classes de shell qui encapsulent les classes de paramètres d'application.

Définition des paramètres d'application

Vos applications Windows Forms nécessitent souvent l'utilisation de données essentielles à l'exécution de l'application, mais que vous ne souhaitez pas inclure directement dans le code de l'application. Si votre application utilise un service Web ou un serveur de base de données, vous pouvez stocker ces informations dans un fichier séparé, afin que vous puissiez les modifier ultérieurement sans devoir les recompiler. De la même façon, vos applications peuvent nécessiter le stockage de données spécifiques à l'utilisateur actuel. Par exemple, la plupart des applications ont des préférences utilisateur qui personnalisent l'aspect et le comportement de l'application.

Les paramètres d'application répondent à ces deux besoins en offrant un moyen simple de stocker des paramètres de portée application et de portée utilisateur sur l'ordinateur client. En utilisant Visual Studio ou un éditeur de code, vous définissez un paramètre pour une propriété donnée en spécifiant son nom, son type de données et sa portée (application ou utilisateur). Vous pouvez même placer des paramètres connexes dans des groupes nommés afin de faciliter leur utilisation et d'améliorer leur lisibilité. Une fois définis, ces paramètres sont rendus persistants et automatiquement relus en mémoire au moment de l'exécution. Une architecture enfichable permet au mécanisme de persistance d'être modifié, mais par défaut, le système de fichiers local est utilisé.

Le fonctionnement des paramètres d'application consiste à rendre persistantes des données en tant que données XML dans différents fichiers de configuration (.config), ce qui permet de faire la distinction entre les paramètres de portée application et les paramètres de portée utilisateur. Dans la plupart des cas, les paramètres de portée application sont en lecture seule : étant donné qu'ils correspondent à des informations de programme, vous ne devrez généralement pas les remplacer. En revanche, les paramètres de portée utilisateur peuvent être lus et écrits sans risque au moment de l'exécution, même si votre application s'exécute avec un niveau de confiance partiel. Pour plus d'informations sur la confiance partielle, consultez Vue d'ensemble de la sécurité dans les Windows Forms.

Les paramètres sont stockés en tant que fragments XML dans les fichiers de configuration. Les paramètres de portée application sont représentés par l'élément <application.Settings> et placés en général dans app.exe.config, où app correspond au nom de votre fichier exécutable principal. Les paramètres de portée utilisateur sont représentés par l'élément <userSettings> et sont placés dans user.config, où user correspond au nom d'utilisateur de la personne qui utilise actuellement l'application. Vous devez déployer le fichier app.exe.config avec votre application ; l'architecture de paramètres crée alors les fichiers user.config à la demande la première fois que l'application enregistre les paramètres pour cet utilisateur. Vous pouvez également définir un bloc <userSettings> dans app.exe.config pour fournir des valeurs par défaut pour les paramètres de portée utilisateur.

Les contrôles personnalisés peuvent également enregistrer leurs propres paramètres en implémentant l'interface IPersistComponentSettings, qui expose la méthode SaveSettings. Le contrôle ToolStrip Windows Forms implémente cette interface pour enregistrer la position des barres d'outils et des éléments de barre d'outils entre des sessions d'application. Pour plus d'informations sur les contrôles personnalisés et les paramètres d'application, consultez Paramètres d'application pour les contrôles personnalisés.

Limitations des paramètres d'application

Vous ne pouvez pas utiliser les paramètres d'application dans une application non managée qui héberge le .NET Framework. Les paramètres ne fonctionneront pas dans des environnements, tels que les compléments Visual Studio, C++ pour Microsoft Office, l'hébergement de contrôles dans Internet Explorer, ou les compléments et projets Microsoft Outlook.

Vous ne pouvez actuellement pas créer de liaison à certaines propriétés dans les Windows Forms. L'exemple le plus notable est la propriété ClientSize, car une liaison à cette propriété provoquerait un comportement imprévisible au moment de l'exécution. Vous pouvez habituellement contourner ces problèmes en enregistrant et en chargeant ces paramètres par programme.

Les paramètres de l'application n'ont aucune fonction intégrée pour chiffrer automatiquement des informations. Vous ne devez jamais stocker des informations liées à la sécurité, telles que les mots de passe de base de données, en texte clair. Si vous souhaitez stocker de telles informations sensibles, vous, en tant que développeur d'applications, devez vous assurer qu'elles sont sécurisées. Si vous souhaitez stocker des chaînes de connexion, nous vous recommandons d'utiliser la sécurité intégrée de Windows et non des mots de passe codés de manière irréversible dans l'URL. Pour plus d'informations, consultez Sécurité d'accès du code et ADO.NET.

Mise en route des paramètres d'application

Si vous utilisez Visual Studio, vous pouvez définir des paramètres dans le Concepteur Windows Forms à l'aide de la propriété (ApplicationSettings) de la fenêtre Propriétés. Lorsque vous définissez des paramètres de cette façon, Visual Studio crée automatiquement une classe wrapper managée personnalisée qui associe chaque paramètre à une propriété de classe. Visual Studio prend également soin de lier le paramètre à une propriété de formulaire ou de contrôle afin que les paramètres du contrôle soient restaurés automatiquement lorsque son formulaire est affiché, puis enregistrés automatiquement lorsque le formulaire est fermé. Pour plus d'informations, consultez Comment : créer des paramètres d'application à l'aide du concepteur.

Si vous souhaitez utiliser un contrôle plus détaillé pour vos paramètres, vous pouvez définir votre propre classe wrapper de paramètres d'application personnalisés. Pour cela, vous devez dériver une classe de ApplicationSettingsBase, ajouter une propriété qui correspond à chaque paramètre, puis appliquer des attributs spéciaux à ces propriétés. Pour plus d'informations sur la création de classes wrapper, consultez Architecture des paramètres d'application.

Vous pouvez également utiliser la classe Binding pour lier par programme des paramètres aux propriétés dans les formulaires et les contrôles. Pour plus d'informations sur la création de classes wrapper, consultez Comment : créer des paramètres d'application à l'aide du concepteur.

Voir aussi

Tâches

Comment : créer des paramètres d'application à l'aide du concepteur

Comment : valider des paramètres d'application

Concepts

Architecture des paramètres d'application

Paramètres d'application pour les contrôles personnalisés

Référence

ApplicationSettingsBase

SettingsProvider

LocalFileSettingsProvider

IPersistComponentSettings