Gérer les paramètres d’application (.NET)Manage application settings (.NET)

Les paramètres d’application vous permettent de stocker des informations sur l’application de manière dynamique.Application settings enable you to store application information dynamically. Les paramètres vous permettent de stocker sur l’ordinateur client des informations qui ne doivent pas être incluses dans le code d’application (par exemple une chaîne de connexion), des préférences utilisateur et d’autres informations nécessaires au moment de l’exécution.Settings allow you to store information on the client computer that should not be included in the application code (for example a connection string), user preferences, and other information you need at runtime.

Les paramètres d’application remplacent les propriétés dynamiques utilisées dans les versions antérieures de Visual Studio.Application settings replace the dynamic properties used in earlier versions of Visual Studio.

Chaque paramètre d’application doit avoir un nom unique.Each application setting must have a unique name. Celui-ci peut être toute combinaison de lettres, de nombres ou de traits de soulignement, ne commençant pas par un nombre et ne comportant pas d’espaces.The name can be any combination of letters, numbers, or an underscore that does not start with a number, and it cannot have spaces. Le nom est modifié par le biais de la propriété Name.The name is changed through the Name property.

Les paramètres d’application peuvent être stockés comme n’importe quel type de données sérialisé par XML ou ayant un TypeConverter qui implémente ToString/FromString.Application settings can be stored as any data type that is serialized to XML or has a TypeConverter that implements ToString/FromString. Les types les plus courants sont String, Integeret Boolean, mais vous pouvez également stocker des valeurs en tant que Color, Objectou chaîne de connexion.The most common types are String, Integer, and Boolean, but you can also store values as Color, Object, or as a connection string.

Les paramètres d’application comportent également une valeur.Application settings also hold a value. La valeur est définie avec la propriété Value et doit correspondre au type de données du paramètre.The value is set with the Value property and must match the data type of the setting.

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.In addition, application settings can be bound to a property of a form or control at design time.

Selon la portée, on distingue deux types de paramètres d’application :There are two types of application settings, based on scope:

  • 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.Application-scoped settings can be used for information such as a URL for a web service or a database connection string. Ces valeurs sont associées à l’application.These values are associated with the application. Par conséquent, les utilisateurs ne peuvent pas les modifier au moment de l’exécution.Therefore, users cannot change them at run time.

  • 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.User-scoped settings can be used for information such as persisting the last position of a form or a font preference. Les utilisateurs peuvent modifier ces valeurs au moment de l’exécution.Users can change these values at run time.

Vous pouvez modifier le type d’un paramètre à l’aide de la propriété Scope .You can change the type of a setting by using the Scope property.

Le système de projet stocke les paramètres d’application dans deux fichiers XML :The project system stores application settings in two XML files:

  • Un fichier app.config, créé au moment du design quand vous créez le premier paramètre d’applicationan app.config file, which is created at design time when you create the first application setting

  • Un fichier user.config, créé au moment de l’exécution quand l’utilisateur qui exécute l’application change la valeur d’un paramètre utilisateura user.config file, which is created at run time when the user who runs the application changes the value of any user setting.

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.Notice that changes in user settings are not written to disk unless the application specifically calls a method to do this.

Créer les paramètres d’application au moment du designCreate application settings at design time

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 projetsou 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é.At design time, you can create application settings in two ways: by using the Settings page of the Project Designer, or by using the Properties window for a form or control, which allows you to bind a setting to a property.

Quand 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 StudioVisual Studio l’enregistre dans app.config avec la balise <applicationSettings>.When you create an application-scoped setting (for example, a database connection string, or a reference to server resources), Visual StudioVisual Studio saves it in app.config with the <applicationSettings> tag. (Les chaînes de connexion sont enregistrées sous la balise <connectionStrings> .)(Connection strings are saved under the <connectionStrings> tag.)

Quand 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 StudioVisual Studio l’enregistre dans app.config avec la balise <userSettings>.When you create a user-scoped setting (for example, default font, home page, or window size), Visual StudioVisual Studio saves it in app.config with the <userSettings> tag.

Important

Quand 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.When you store connection strings in app.config, you should take precautions to avoid revealing sensitive information, such as passwords or server paths, in the connection string.

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.If you take connection string information from an external source, such as a user supplying a user ID and password, you must be careful to ensure that the values that you use to construct your connection string do not contain additional connection string parameters that change the behavior of your connection.

Envisagez l’utilisation de la fonctionnalité de configuration protégée pour chiffrer les informations sensibles dans le fichier de configuration.Consider using the Protected Configuration feature to encrypt sensitive information in the configuration file. Pour plus d’informations, consultez Protéger les informations de connexion.For more information, see Protect connection information.

Note

É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.Because there is no configuration file model for class libraries, application settings do not apply for Class Library projects. L’exception est un projet de DLL Visual Studio Tools pour Office, qui peut avoir un fichier de configuration.The exception is a Visual Studio Tools for Office DLL project, which can have a configuration file.

Utiliser des fichiers de paramètres personnalisésUse customized settings files

Vous pouvez ajouter des fichiers de paramètres personnalisés à votre projet pour une gestion pratique des groupes de paramètres.You can add customized settings files to your project for convenient management of groups of settings. Comme les paramètres contenus dans un fichier unique sont chargés et enregistrés en tant qu’unité,Settings that are contained in a single file are loaded and saved as a unit. 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.Storing settings in separate files for frequently used and infrequently used groups can save time in loading and saving settings.

Par exemple, vous pouvez ajouter un fichier tel que SpecialSettings.settings à votre projet.For example, you can add a file such as SpecialSettings.settings to your project. 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.While your SpecialSettings class is not exposed in the My namespace, View Code can read the custom settings file that contains Partial Class SpecialSettings.

Le Concepteur de paramètres recherche en premier le fichier Settings.settings que le système de projet crée ; ce fichier est le fichier par défaut que le Concepteur de projet affiche sous l’onglet Paramètres. Settings.settings se trouve dans le dossier My Project pour les projets Visual BasicVisual Basic et dans le dossier Propriétés pour les projets Visual C#Visual C#.The Settings Designer first searches for the Settings.settings file that the project system creates; this file is the default file that the Project Designer displays in the Settings tab. Settings.settings is located in the My Project folder for Visual BasicVisual Basic projects and in the Properties folder for Visual C#Visual C# projects. Comme le Concepteur de projet recherche ensuite d’autres fichiers de paramètres dans le dossier racine du projet,The Project Designer then searches for other settings files in the project's root folder. vous devez mettre votre fichier de paramètres personnalisés à cet emplacement.Therefore, you should put your custom settings file there. Si vous ajoutez un fichier .settings ailleurs dans votre projet, le Concepteur de projet ne sera pas capable de le trouver.If you add a .settings file elsewhere in your project, the Project Designer will not be able to locate it.

Accéder aux paramètres d’application, ou les changer, au moment de l’exécution en Visual BasicAccess or change application settings at run time in 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.In Visual Basic projects, you can access application settings at run time by using the My.Settings object. Dans la page Paramètres, cliquez sur le bouton Afficher le code pour afficher le fichier Settings.vb.On the Settings page, click the View code button to view the Settings.vb file. 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.Settings.vb defines the Settings class, which enables you to handle these events on the settings class: SettingChanging, PropertyChanged, SettingsLoaded, and 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.Notice that the Settings class in Settings.vb is a partial class that displays only the user-owned code, not the whole generated class. Pour plus d’informations sur l’accès aux paramètres d’application à l’aide de l’objet My.Settings, consultez Accéder aux paramètres d’application (.NET Framework).For more information about accessing application settings by using the My.Settings object, see Access application settings (.NET Framework).

Les valeurs de tous les paramètres de portée utilisateur changé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.The values of any user-scoped settings that the user changes at run time (for example, the position of a form) are stored in a user.config file. Notez que les valeurs par défaut restent enregistrées dans app.config.Notice that the default values are still saved in app.config.

Si des paramètres de portée utilisateur sont changés au cours de l’exécution, à l’occasion d’un test de l’application par exemple, et que vous souhaitez réinitialiser ces paramètres à leurs valeurs par défaut, cliquez sur le bouton Synchroniser.If any user-scoped settings are changed during run time, for example in testing the application, and want to reset these settings to their default values, click the Synchronize button.

Nous vous recommandons fortement d’utiliser l’objet My.Settings et le fichier .settings par défaut pour accéder aux paramètres.We strongly recommend that you use the My.Settings object and the default .settings file to access settings. 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.This is because you can use the Settings Designer to assign properties to settings, and, additionally, user settings are automatically saved before application shutdown. Toutefois, votre application Visual Basic peut accéder directement aux paramètres.However, your Visual Basic application can access settings directly. Dans ce cas, vous devez accéder à la classe MySettings et utiliser un fichier .settings personnalisé à la racine du projet.In that case you have to access the MySettings class and use a custom .settings file in the root of the project. Vous devez enregistrer les paramètres utilisateur avant de terminer l’application, comme vous le feriez pour une application C# (voir la section suivante).You must save the user settings before ending the application, as you would do for a C# application; this is described in the following section.

Accéder aux paramètres d’application, ou les changer, au moment de l’exécution en C#Access or change application settings at run time in C#

Dans les langages autres que Visual Basic, tels que C#, vous devez accéder directement à la classe Settings, comme indiqué dans l’exemple Visual C#Visual C# suivant.In languages other than Visual Basic, such as C#, you must access the Settings class directly, as shown in the following Visual C#Visual C# example.

Properties.Settings.Default.FirstUserSetting = "abc";

Vous devez appeler explicitement la méthode Save de cette classe wrapper pour conserver les paramètres utilisateur.You must explicitly call the Save method of this wrapper class in order to persist the user settings. Cela s’effectue habituellement dans le gestionnaire d’événements Closing du formulaire principal.You usually do this in the Closing event handler of the main form. L’exemple C#, suivant illustre un appel à la méthode Save.The following C# example shows a call to the Save method.

Properties.Settings.Default.Save();

Pour obtenir des informations générales sur l’accès aux paramètres d’application à l’aide de la classe Settings, consultez Présentation des paramètres d’application (.NET Framework).For general information about accessing application settings through the Settings class, see Application settings overview (.NET Framework). Pour plus d’informations sur l’itération au sein de paramètres, consultez ce message de forum.For information about iterating through the settings, see this forum post.

Voir aussiSee also