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

Vous devez effectuer certaines tâches pour permettre à vos contrôles personnalisés de conserver les paramètres d’application lorsque les contrôles sont hébergés dans des applications tierces.

La plupart de la documentation sur la fonctionnalité application Paramètres est écrite en supposant que vous créez une application autonome. Toutefois, si vous créez un contrôle que d’autres développeurs hébergeront dans leurs applications, vous devez effectuer quelques étapes supplémentaires pour que votre contrôle conserve correctement ses paramètres.

Paramètres d’application et contrôles personnalisés

Pour que votre contrôle conserve correctement ses paramètres, il doit encapsuler le processus en créant sa propre classe wrapper de paramètres d’applications dédiées, dérivée de ApplicationSettingsBase. En outre, la classe de contrôle principale doit implémenter le IPersistComponentSettings. L’interface contient plusieurs propriétés ainsi que deux méthodes, LoadComponentSettings et SaveComponentSettings. Si vous ajoutez votre contrôle à un formulaire à l’aide du Concepteur Windows Forms dans Visual Studio, Windows Forms appelle LoadComponentSettings automatiquement lorsque le contrôle est initialisé ; vous devez vous appeler SaveComponentSettings dans la Dispose méthode de votre contrôle.

En outre, vous devez implémenter les éléments suivants pour que les paramètres d’application pour que les contrôles personnalisés fonctionnent correctement dans des environnements au moment du design, tels que Visual Studio :

  1. Classe de paramètres d’application personnalisée avec un constructeur qui prend un IComponent paramètre unique. Utilisez cette classe pour enregistrer et charger tous les paramètres de votre application. Lorsque vous créez une instance de cette classe, passez votre contrôle personnalisé à l’aide du constructeur.

  2. Créez cette classe de paramètres personnalisée une fois le contrôle créé et placé sur un formulaire, par exemple dans le gestionnaire d’événements du Load formulaire.

Pour obtenir des instructions sur la création d’une classe de paramètres personnalisés, consultez How to : Create Application Paramètres.

clés Paramètres et Paramètres partagés

Certains contrôles peuvent être utilisés plusieurs fois dans le même formulaire. La plupart du temps, vous souhaiterez que ces contrôles conservent leurs propres paramètres individuels. Avec la SettingsKey propriété activée IPersistComponentSettings, vous pouvez fournir une chaîne unique qui agit pour lever l’ambiguïté de plusieurs versions d’un contrôle sur un formulaire.

La façon la plus simple d’implémenter SettingsKey consiste à utiliser la Name propriété du contrôle pour le SettingsKey. Lorsque vous chargez ou enregistrez les paramètres du contrôle, vous transmettez la valeur de SettingsKey la SettingsKey propriété de la ApplicationSettingsBase classe. L’application Paramètres utilise cette clé unique lorsqu’elle conserve les paramètres de l’utilisateur au format XML. L’exemple de code suivant montre comment une <userSettings> section peut rechercher une instance d’un contrôle personnalisé nommé CustomControl1 qui enregistre un paramètre pour sa Text propriété.

<userSettings>
    <CustomControl1>
        <setting name="Text" serializedAs="string">
            <value>Hello, World</value>
        </setting>
    </CustomControl1>
</userSettings>

Toutes les instances d’un contrôle qui ne fournissent pas de valeur pour SettingsKey devront partager les mêmes paramètres.

Voir aussi