Partager via


Guide pratique pour hériter de contrôles Windows Forms existants

Si vous souhaitez étendre les fonctionnalités d’un contrôle existant, vous pouvez créer 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 les fonctionnalités et propriétés visuelles de ce contrôle. Par exemple, si vous créez un contrôle hérité de Button, votre nouveau contrôle ressemblerait exactement à un contrôle standard Button . Vous pourrez ensuite étendre ou modifier les fonctionnalités de votre nouveau contrôle en implémentant des méthodes et des propriétés personnalisées. Dans certains contrôles, vous pouvez également modifier l’apparence visuelle de votre contrôle hérité en remplaçant sa OnPaint méthode.

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

  1. Dans Visual Studio, créez un projet d’application Windows Forms.

  2. Dans le menu Projet, sélectionnez Ajouter un nouvel élément.

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

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

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

  4. Si vous utilisez :

    • Visual Basic, en haut de Explorateur de solutions, cliquez sur Afficher tous les fichiers. Développez CustomControl1.vb, puis ouvrez CustomControl1.Designer.vb dans l’éditeur de code.
    • C#, ouvrez CustomControl1.cs dans l’éditeur de code.
  5. Recherchez la déclaration de classe, qui hérite de Control.

  6. Remplacez la classe de base par le contrôle dont vous voulez hériter.

    Par exemple, si vous souhaitez hériter de Button, remplacez la déclaration de classe par ce qui suit :

    Partial Class CustomControl1
        Inherits System.Windows.Forms.Button
    
    public partial class CustomControl1 : System.Windows.Forms.Button
    
  7. Si vous utilisez Visual Basic, enregistrez et fermez CustomControl1.Designer.vb. Ouvrez CustomControl1.vb dans l’éditeur de code.

  8. Implémentez les méthodes ou propriétés personnalisées que votre contrôle intégrera.

  9. Si vous souhaitez modifier l’apparence graphique de votre contrôle, remplacez la OnPaint méthode.

    Remarque

    OnPaint La substitution ne vous permet pas de modifier l’apparence de tous les contrôles. Ces contrôles qui ont toutes leurs peintures effectuées par Windows (par exemple, TextBox) n’appellent jamais leur OnPaint méthode et n’utilisent donc jamais le code personnalisé. Reportez-vous à la documentation d’aide pour le contrôle particulier que vous souhaitez modifier pour voir si la OnPaint méthode est disponible. Pour obtenir la liste de tous les contrôles Windows Forms, consultez Contrôles à utiliser dans les Windows Forms. Si un contrôle n’a OnPaint pas répertorié comme méthode membre, 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 e As _
       System.Windows.Forms.PaintEventArgs)
       MyBase.OnPaint(e)
       ' Insert code to do custom painting.
       ' If you want to completely change the appearance of your control,
       ' do not call MyBase.OnPaint(e).
    End Sub
    
    protected override void OnPaint(PaintEventArgs pe)
    {
       base.OnPaint(pe);
       // Insert code to do custom painting.
       // If you want to completely change the appearance of your control,
       // do not call base.OnPaint(pe).
    }
    
  10. Enregistrez et testez votre contrôle.

Voir aussi