Partager via


Comment : créer des paramètres d'application

À l'aide de code managé, vous pouvez créer de nouveaux paramètres d'application et les lier aux propriétés ou aux contrôles de votre formulaire, afin que ces paramètres soient chargés et enregistrés automatiquement au moment de l'exécution.

Dans la procédure suivante, vous créez manuellement une classe wrapper dérivée de ApplicationSettingsBase. Vous ajoutez à cette classe une propriété publiquement accessible pour chaque paramètre d'application que vous souhaitez exposer.

Vous pouvez également exécuter cette procédure avec un minimum de code dans le concepteur Visual Studio. Pour plus d'informations, consultez Comment : créer des paramètres d'application à l'aide du concepteur et Comment : créer des paramètres d'application à l'aide du concepteur et Comment : créer des paramètres d'application à l'aide du concepteur et Comment : créer des paramètres d'application à l'aide du concepteur et Comment : créer des paramètres d'application à l'aide du concepteur.

Pour créer de nouveaux paramètres d'application par programme

  1. Ajoutez une nouvelle classe à votre projet et renommez-la. Pour cette procédure, cette classe est nommée MyUserSettings. Modifiez la définition de classe afin que la classe dérive de ApplicationSettingsBase.

  2. Définissez une propriété sur cette classe wrapper pour chaque paramètre d'application requis et appliquez cette propriété avec ApplicationScopedSettingAttribute ou UserScopedSettingAttribute, selon la portée du paramètre. Pour plus d'informations sur la portée des paramètres, consultez Vue d'ensemble des paramètres d'application. Votre code doit désormais se présenter comme suit :

    Imports System.Configuration
    
    Public Class MyUserSettings
        Inherits ApplicationSettingsBase
        <UserScopedSetting()> _
        <DefaultSettingValue("white")> _
        Public Property BackgroundColor() As Color
            Get
                BackgroundColor = Me("BackgroundColor")
            End Get
    
            Set(ByVal value As Color)
                Me("BackgroundColor") = value
            End Set
        End Property
    End Class
    
    using System;
    using System.Configuration;
    using System.Drawing;
    
    public class MyUserSettings : ApplicationSettingsBase
    {
        [UserScopedSetting()]
        [DefaultSettingValue("white")]
        public Color BackgroundColor
        {
            get
            {
                return ((Color)this["BackgroundColor"]);
            }
            set
            {
                this["BackgroundColor"] = (Color)value;
            }
        }
    }
    
  3. Créez une instance de cette classe wrapper dans votre application. En règle générale, il s'agira d'un membre privé du formulaire principal. Maintenant que vous avez défini votre classe, vous devez la lier à une propriété ; dans ce cas, il s'agit de la propriété BackColor de votre formulaire. Vous pouvez effectuer cette opération dans le gestionnaire d'événements Load de votre formulaire.

    Dim Mus As MyUserSettings
    
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Mus = New MyUserSettings()
        Mus.BackgroundColor = Color.AliceBlue
        Me.DataBindings.Add(New Binding("BackColor", Mus, "BackgroundColor"))
    End Sub
    
    MyUserSettings mus;
    
    private void Form1_Load(object sender, EventArgs e)
    {
        mus = new MyUserSettings();
        mus.BackgroundColor = Color.AliceBlue;
        this.DataBindings.Add(new Binding("BackColor", mus, "BackgroundColor"));
    }
    
  4. Si vous permettez la modification des paramètres au moment de l'exécution, vous devez enregistrer les paramètres actuels de l'utilisateur sur disque lorsque vous fermez votre formulaire ; sinon, ces modifications sont perdues.

    Private Sub Form1_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
        Mus.Save()
    End Sub
    
        //Make sure to hook up this event handler in the constructor!
        //this.FormClosing += new FormClosingEventHandler(Form1_FormClosing);
            void Form1_FormClosing(object sender, FormClosingEventArgs e)
            {
                mus.Save();
            }
    

    Vous avez maintenant créé avec succès un paramètre d'application et vous l'avez lié à la propriété spécifiée.

Sécurité

Le fournisseur de paramètres par défaut, LocalFileSettingsProvider, rend les informations persistantes dans des fichiers de configuration, sous forme de texte brut. Cela limite la sécurité à la sécurité d'accès aux fichiers mise à la disposition de l'utilisateur actuel par le système d'exploitation. La plus grande prudence est donc conseillée pour les informations stockées dans les fichiers de configuration. Par exemple, une utilisation fréquente des paramètres d'application consiste à stocker des chaînes de connexion qui désignent le magasin de données de l'application. Toutefois, pour des raisons de sécurité, ces chaînes ne doivent pas inclure de mots de passe. Pour plus d'informations sur les chaînes de connexion, consultez SpecialSetting.

Voir aussi

Tâches

Comment : valider des paramètres d'application

Référence

SpecialSettingAttribute

LocalFileSettingsProvider

Concepts

Vue d'ensemble des paramètres d'application