Partager via


Procédure : hériter des 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 via l’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 Button standard. Vous pouvez ensuite étendre ou modifier les fonctionnalités de votre nouveau contrôle via l’implémentation de méthodes et de 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 méthode OnPaint.

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, choisissez 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 le contrôle personnalisé .

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

  4. Si vous utilisez :

    • Visual Basic, en haut de l’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. Localisez la déclaration de classe, qui hérite de Control.

  6. Remplacez la classe de base par le contrôle dont vous souhaitez 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 toutes les méthodes ou propriétés personnalisées que votre contrôle incorporera.

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

    Note

    La substitution de OnPaint 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 méthode de OnPaint, et n’utiliseront donc jamais le code personnalisé. Reportez-vous à la documentation d’aide pour le contrôle particulier que vous souhaitez modifier pour voir si la méthode OnPaint est disponible. Pour obtenir la liste de tous les contrôles Windows Form, consultez Contrôles à utiliser sur windows Forms. Si aucun contrôle n’a OnPaint 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 des contrôles personnalisés.

    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