Vous êtes sur la page 1sur 6

Vue d'ensemble des paramtres d'application

.NET Framework 4.5 Cette rubrique indique comment crer et stocker des donnes de paramtres pour votre application et vos utilisateurs. La fonctionnalit Paramtres de l'application des Windows Forms facilite la cration, le stockage et la gestion d'applications personnalises et de prfrences utilisateur sur l'ordinateur client. Grce aux paramtres d'application Windows Forms, vous pouvez stocker non seulement des donnes d'application, telles que des chanes de connexion une base de donnes, mais galement des donnes spcifiques l'utilisateur, telles que les prfrences de l'application utilisateur. L'utilisation de Visual Studio ou de code manag personnalis permet de crer de nouveaux paramtres, de les lire et de les crire sur le disque, de les lier aux proprits dans vos formulaires et de valider des donnes de paramtres avant le chargement et l'enregistrement. Les paramtres d'application permettent aux dveloppeurs d'enregistrer l'tat dans leur application avec trs peu de code personnalis, et remplacent les proprits dynamiques dans les versions prcdentes du .NET Framework. Les paramtres d'application contiennent de nombreuses amliorations par rapport aux proprits dynamiques, qui sont en lecture seule, liaison tardive et requirent davantage de programmation personnalise. Les classes de proprits dynamiques ont t conserves dans .NET Framework 2.0, mais elles constituent simplement des classes de shell qui encapsulent les classes de paramtres d'application. Dfinition des paramtres d'application

Vos applications Windows Forms ncessitent souvent l'utilisation de donnes essentielles l'excution 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 donnes, vous pouvez stocker ces informations dans un fichier spar, afin que vous puissiez les modifier ultrieurement sans devoir les recompiler. De la mme faon, vos applications peuvent ncessiter le stockage de donnes spcifiques l'utilisateur actuel. Par exemple, la plupart des applications ont des prfrences utilisateur qui personnalisent l'aspect et le comportement de l'application. Les paramtres d'application rpondent ces deux besoins en offrant un moyen simple de stocker des paramtres de porte application et de porte utilisateur sur l'ordinateur client. En utilisant Visual Studio ou un diteur de code, vous dfinissez un paramtre pour une proprit donne en spcifiant son nom, son type de donnes et sa porte (application ou utilisateur). Vous pouvez mme placer des paramtres connexes dans des groupes nomms afin de faciliter leur utilisation et d'amliorer leur lisibilit. Une fois dfinis, ces paramtres sont rendus persistants et automatiquement relus en mmoire au moment de l'excution. Une architecture enfichable permet au mcanisme de persistance d'tre modifi, mais par dfaut, le systme de fichiers local est utilis.

Le fonctionnement des paramtres d'application consiste rendre persistantes des donnes en tant que donnes XML dans diffrents fichiers de configuration (.config), ce qui permet de faire la distinction entre les paramtres de porte application et les paramtres de porte utilisateur. Dans la plupart des cas, les paramtres de porte application sont en lecture seule : tant donn qu'ils correspondent des informations de programme, vous ne devrez gnralement pas les remplacer. En revanche, les paramtres de porte utilisateur peuvent tre lus et crits sans risque au moment de l'excution, mme si votre application s'excute avec un niveau de confiance partiel. Pour plus d'informations sur la confiance partielle, consultez Vue d'ensemble de la scurit dans les Windows Forms. Les paramtres sont stocks en tant que fragments XML dans les fichiers de configuration. Les paramtres de porte application sont reprsents par l'lment <application.Settings> et placs en gnral dans app.exe.config, o app correspond au nom de votre fichier excutable principal. Les paramtres de porte utilisateur sont reprsents par l'lment <userSettings> et sont placs dans user.config, o user correspond au nom d'utilisateur de la personne qui utilise actuellement l'application. Vous devez dployer le fichier app.exe.config avec votre application ; l'architecture de paramtres cre alors les fichiers user.config la demande la premire fois que l'application enregistre les paramtres pour cet utilisateur. Vous pouvez galement dfinir un bloc <userSettings> dans app.exe.config pour fournir des valeurs par dfaut pour les paramtres de porte utilisateur. Les contrles personnaliss peuvent galement enregistrer leurs propres paramtres en implmentant l'interface IPersistComponentSettings, qui expose la mthode SaveSettings. Le contrle ToolStrip Windows Forms implmente cette interface pour enregistrer la position des barres d'outils et des lments de barre d'outils entre des sessions d'application. Pour plus d'informations sur les contrles personnaliss et les paramtres d'application, consultez Paramtres d'application pour les contrles personnaliss. Limitations des paramtres d'application

Vous ne pouvez pas utiliser les paramtres d'application dans une application non manage qui hberge le .NET Framework. Les paramtres ne fonctionneront pas dans des environnements, tels que les complments Visual Studio, C++ pour Microsoft Office, l'hbergement de contrles dans Internet Explorer, ou les complments et projets Microsoft Outlook. Vous ne pouvez actuellement pas crer de liaison certaines proprits dans les Windows Forms. L'exemple le plus notable est la proprit ClientSize, car une liaison cette proprit provoquerait un comportement imprvisible au moment de l'excution. Vous pouvez habituellement contourner ces problmes en enregistrant et en chargeant ces paramtres par programme. Les paramtres de l'application n'ont aucune fonction intgre pour chiffrer automatiquement des informations. Vous ne devez jamais stocker des informations lies la scurit, telles que les mots de passe de base de donnes, en texte clair. Si vous souhaitez stocker de telles informations sensibles, vous, en tant que dveloppeur d'applications, devez vous assurer qu'elles sont scurises. Si vous souhaitez stocker des chanes de connexion, nous vous recommandons d'utiliser la scurit intgre de Windows et non des mots de passe cods de

manire irrversible dans l'URL. Pour plus d'informations, consultez Code Access Security and ADO.NET. Mise en route des paramtres d'application

Si vous utilisez Visual Studio, vous pouvez dfinir des paramtres dans le Concepteur Windows Forms l'aide de la proprit (ApplicationSettings) de la fentre Proprits. Lorsque vous dfinissez des paramtres de cette faon, Visual Studio cre automatiquement une classe wrapper manage personnalise qui associe chaque paramtre une proprit de classe. Visual Studio prend galement soin de lier le paramtre une proprit de formulaire ou de contrle afin que les paramtres du contrle soient restaurs automatiquement lorsque son formulaire est affich, puis enregistrs automatiquement lorsque le formulaire est ferm. Pour plus d'informations, consultez Comment : crer des paramtres d'application l'aide du concepteur. Si vous souhaitez utiliser un contrle plus dtaill pour vos paramtres, vous pouvez dfinir votre propre classe wrapper de paramtres d'application personnaliss. Pour cela, vous devez driver une classe de ApplicationSettingsBase, ajouter une proprit qui correspond chaque paramtre, puis appliquer des attributs spciaux ces proprits. Pour plus d'informations sur la cration de classes wrapper, consultez Architecture des paramtres d'application. Vous pouvez galement utiliser la classe Binding pour lier par programme des paramtres aux proprits dans les formulaires et les contrles. Pour plus d'informations sur la cration de classes wrapper, consultez Comment : crer des paramtres d'application l'aide du concepteur. Comment : crer des paramtres d'application l'aide du concepteur .NET Framework 4.5 l'aide de Visual Studio, vous pouvez crer de nouveaux paramtres d'application et les lier aux proprits ou aux contrles de votre formulaire, afin que ces paramtres soient chargs et enregistrs automatiquement au moment de l'excution. Dans la procdure suivante, vous configurez les paramtres d'application et les liaisons l'aide de l'diteur de proprits Windows Forms Lorsque vous utilisez cet diteur, Visual Studio gnre une classe wrapper qui drive de ApplicationSettingsBase et expose tous vos paramtres en tant que proprits dfinies dans cette classe wrapper. Dans la deuxime procdure, vous dfinissez manuellement cette classe wrapper. Remarque Les utilisateurs de Visual Studio 2005 peuvent ajouter des paramtres leur application l'aide du Concepteur de projets en ajoutant un fichier .settings leurs applications. En Visual Basic, cela exposera tous les paramtres dans l'objet My.Settings ; d'autres langages gnreront une classe Settings exposant ces paramtres. Vous pouvez crer un fichier .settings dans Visual Studio en utilisant l'onglet Paramtres du Concepteur de projets pour crer les paramtres du projet.

Dans Microsoft Visual Basic 2005, le Concepteur de projets contient plus d'options utilisant les paramtres d'application que les autres langages dans Microsoft Visual Studio 2005. Pour plus d'informations, consultez Managing Application Settings. Remarque Les botes de dialogue et les commandes de menu qui s'affichent peuvent tre diffrentes de celles qui sont dcrites dans l'aide, en fonction de vos paramtres actifs ou de l'dition utilise. Pour modifier vos paramtres, choisissez Importation et exportation de paramtres dans le menu Outils. Pour plus d'informations, consultez Paramtres Visual Studio. Pour crer de nouveaux paramtres de l'application l'aide de Visual Studio 1. Slectionnez le formulaire ou le contrle dont vous souhaitez lier les proprits au nouveau paramtre de l'application. 2. Dans l'diteur de proprits, dveloppez l'lment (Paramtres de l'application), puis cliquez sur le bouton de slection situ en regard de l'lment (PropertyBindings) audessous. 3. Dans la bote de dialogue Paramtres de l'application, cliquez sur le menu droulant pour la proprit que vous souhaitez lier et slectionnez la commande Nouveau. Important Le Concepteur n'affichera pas les proprits dont le type est dfini dans l'assembly actuel. Il s'agit d'une limitation connue. Pour effectuer une liaison cette proprit, excutez l'une des tapes suivantes :
o

Dplacez la dfinition du type de proprit vers un autre projet, crez le projet, puis ajoutez au projet actuel une rfrence ce nouvel assembly. La proprit doit alors tre rpertorie dans la bote de dialogue Paramtres de l'application. ou

4.

5. 6.

7.

Au lieu d'utiliser le Concepteur, crez le paramtre d'application par programme. Pour plus d'informations sur cette option, consultez Comment : crer des paramtres d'application. Dans la bote de dialogue Nouveau paramtre d'application, configurez le paramtre en lui attribuant un nom et une valeur par dfaut (le cas chant), et en dfinissant sa porte. Si vous dfinissez la porte en tant qu'Application, la proprit sera globale et concernera tous les utilisateurs de l'application, mais ne sera vraisemblablement pas modifiable au moment de l'excution. Si vous dfinissez la porte en tant qu'Utilisateur, la proprit sera en lecture/criture et sa valeur sera peut-tre diffrente selon les utilisateurs. Pour plus d'informations sur la porte des paramtres, consultez Vue d'ensemble des paramtres d'application. Si votre paramtre contient une chane de connexion, activez la case cocher Chane de connexion dans la bote de dialogue. Cliquez sur OK dans la bote de dialogue Nouveau paramtre d'application et dans la bote de dialogue Paramtres de l'application. Vous avez maintenant cr avec succs un nouveau paramtre d'application et vous l'avez li la proprit spcifie. Pour manipuler des paramtres d'application individuels, accdez aux proprits de l'objet My.Settings dans Visual Basic, ou de l'objet Settings dans d'autres langages.
o

Par exemple, vous devez appeler explicitement la mthode Save de cette classe wrapper pour faire persister les paramtres utilisateur dans des langages autres que Visual Basic. Cela s'effectue habituellement dans le gestionnaire d'vnements Closing du formulaire principal. En Visual Basic, le concepteur gnre automatiquement le code pour enregistrer les valeurs actuelles de tous les paramtres utilisateur pendant l'arrt de l'application. Scurit

Le fournisseur de paramtres par dfaut, LocalFileSettingsProvider, rend les informations persistantes dans des fichiers de configuration, sous forme de texte brut. Cela limite la scurit la scurit d'accs aux fichiers mise la disposition de l'utilisateur actuel par le systme d'exploitation. La plus grande prudence est donc conseille pour les informations stockes dans les fichiers de configuration. Par exemple, une utilisation frquente des paramtres d'application consiste stocker des chanes de connexion qui dsignent le magasin de donnes de l'application. Toutefois, pour des raisons de scurit, ces chanes ne doivent pas inclure de mots de passe. Pour plus d'informations sur les chanes de connexion, consultez SpecialSetting.

Comment : crire des paramtres utilisateur au moment de l'excution avec C# .NET Framework 4.5 Les paramtres de porte application sont en lecture seule et peuvent uniquement tre modifis au moment du design ou en altrant le fichier .config entre des sessions d'application. Ils peuvent, toutefois, tre crits au moment de l'excution tout comme vous modifieriez une valeur de proprit. La nouvelle valeur est conserve pour la dure de la session d'application. Vous pouvez conserver les modifications des paramtres entre plusieurs sessions d'application en appelant la mthode Save. Comment : crire et conserver des paramtres utilisateur au moment de l'excution avec C# 1. Accdez au paramtre et assignez-lui une nouvelle valeur comme indiqu dans l'exemple ci-dessous : 2. // C# 3. Properties.Settings.Default.myColor = Color.AliceBlue; 4. Si vous souhaitez conserver les modifications des paramtres entre plusieurs sessions d'application, appelez la mthode Save, comme indiqu ci-dessous : 5. // C# 6. Properties.Settings.Default.Save();

Comment : lire des paramtres au moment de l'excution avec C# .NET Framework 4.5

Vous pouvez lire les paramtres de porte application et de porte utilisateur au moment de l'excution via l'objet Proprits. L'objet Proprits expose tous les paramtres par dfaut du projet via le membre Properties.Settings.Default. Pour lire des paramtres au moment de l'excution avec C#

Accdez au paramtre appropri via le membre Properties.Settings.Default. L'exemple suivant indique comment assigner le paramtre myColor une proprit BackColor. // C# this.Backcolor = Properties.Settings.Default.myColor;