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

Les boîtes de dialogue et les commandes de menu qui s'affichent peuvent être différentes de celles qui sont décrites dans l'aide, en fonction de vos paramètres actifs ou de l'édition utilisée. Pour modifier vos paramètres, choisissez Importation et exportation de paramètres dans le menu Outils. Pour plus d'informations, consultez Utilisation des paramètres.

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

  1. Créer un projet Windows Forms Application.

  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, cliquez sur Contrôle personnalisé.

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

  4. Si vous utilisez Visual Basic, dans la partie supérieure 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.

  5. Si vous utilisez C#, ouvrez CustomControl1.cs dans l'éditeur de code.

  6. Recherchez la déclaration de classe héritée de Control.

  7. 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
    
  8. Si vous utilisez Visual Basic, enregistrez et fermez CustomControl1.Designer.vb. Ouvrez CustomControl1.vb dans l'éditeur de code.

  9. Implémentez les éventuelles méthodes ou propriétés personnalisées que votre contrôle contiendra.

  10. 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 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).
    }
    
  11. 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 dans Visual Basic

Procédure pas à pas : héritage à partir d'un contrôle Windows Forms à l'aide de Visual Basic

Procédure pas à pas : héritage d'un contrôle Windows Forms à l'aide de Visual C#

Concepts

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

Historique des modifications

Date

Historique

Motif

Juillet 2010

Mise à niveau pour Visual Studio 2010.

Commentaires client.