Comment : hériter de contrôles Windows Forms existants

Pour enrichir les fonctionnalités d'un contrôle, créez un contrôle dérivé d'un contrôle existant par héritage. Lorsque vous héritez d'un contrôle existant, vous héritez de toutes ses fonctionnalités et propriétés visuelles. Par exemple, si vous avez créé un contrôle hérité de Button, il aura l'aspect et le comportement d'un contrôle Button standard. Vous pouvez alors développer ou modifier les fonctionnalités du nouveau contrôle en implémentant de nouvelles méthodes et propriétés. Dans certains contrôles, vous pouvez également modifier l'aspect visuel du contrôle hérité en substituant la méthode OnPaint.

Notes

Selon vos paramètres actifs ou votre édition, les boîtes de dialogue et les commandes de menu que vous voyez peuvent différer de celles qui sont décrites dans l'aide. Pour modifier vos paramètres, choisissez Importation et exportation de paramètres dans le menu Outils. Pour plus d'informations, consultez Paramètres Visual Studio.

Pour créer un contrôle hérité

  1. Créez un projet Windows.

    Ce projet peut être de n'importe quel type, par exemple une application Windows ou une bibliothèque de contrôles Windows. Si vous choisissez le type Bibliothèque de contrôles Windows, vous pouvez utiliser le contrôle vide qui vous est proposé et sauter les étapes 2 et 3.

  2. Dans le menu Projet, choisissez Ajouter un contrôle utilisateur.

    La boîte de dialogue Ajouter un nouvel élément s'affiche alors.

  3. Dans la boîte de dialogue Ajouter un nouvel élément, cliquez sur Contrôle personnalisé.

    Un nouveau contrôle personnalisé est alors ajouté à votre projet.

  4. Dans l'éditeur de code, localisez la ligne qui spécifie Control comme la classe de base pour l'héritage. Remplacez le nom de la classe de base par celui du contrôle dont vous voulez hériter.

    Par exemple, pour hériter de Button, écrivez la ligne suivante :

    Inherits System.Windows.Forms.Button
    
    public class CustomControl1 : System.Windows.Forms.Button
    
    public class CustomControl1
       extends System.Windows.Forms.Button
    
  5. Implémentez les éventuelles méthodes ou propriétés personnalisées que votre contrôle contiendra.

  6. Pour modifier l'aspect graphique du contrôle, substituez la méthode OnPaint.

    Notes

    La substitution de la méthode OnPaint ne vous permet pas de modifier l'apparence de tous les contrôles. Les contrôles dont la peinture est définie par Windows (par exemple, TextBox) n'appellent jamais leur méthode OnPaint et n'utiliseront donc jamais le code personnalisé. Reportez-vous à la documentation traitant du contrôle que vous souhaitez modifier pour vérifier si la méthode OnPaint est disponible. Pour obtenir la liste de tous les Contrôles Windows Form, consultez Contrôles à utiliser dans les Windows Forms. Si un contrôle ne comprend pas la méthode membre OnPaint, vous ne pouvez pas modifier son apparence en substituant cette méthode. Pour plus d'informations sur la peinture personnalisée, consultez Peinture et rendu personnalisés des contrôles.

    Protected Overrides Sub OnPaint(ByVal pe As _
       System.Windows.Forms.PaintEventArgs)
       MyBase.OnPaint(pe)
       ' Insert code to do custom painting. If you want to completely
       ' change the appearance of your control, do not call
       ' MyBase.OnPaint(pe).
    End Sub
    
    protected override void OnPaint(PaintEventArgs pe)
    {
       // Do not call base.OnPaint if you want to completely
       // control the appearance of the control.
       base.OnPaint(pe);
       // Insert code to do custom painting.
    }
    
    protected void OnPaint(PaintEventArgs pe) 
    {
       // Do not call base.OnPaint if you want to completely
       // control the appearance of the control.
       super.OnPaint(pe);
       // Insert code to do custom painting.
    }
    
  7. Enregistrez et testez le contrôle.

Voir aussi

Tâches

Comment : hériter de la classe du contrôle
Comment : hériter de la classe UserControl
Comment : créer des contrôles pour des Windows Forms
Dépannage des gestionnaires d'événements hérités en Visual Basic .2005

Concepts

Variétés de contrôles personnalisés