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é
Dans Visual Studio, créez un projet d’application Windows Forms.
Dans le menu Projet, sélectionnez Ajouter un nouvel élément.
La boîte de dialogue Ajouter un nouvel élément s'affiche.
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.
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.
Recherchez la déclaration de classe, qui hérite de Control.
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
Si vous utilisez Visual Basic, enregistrez et fermez CustomControl1.Designer.vb. Ouvrez CustomControl1.vb dans l’éditeur de code.
Implémentez les méthodes ou propriétés personnalisées que votre contrôle intégrera.
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). }
Enregistrez et testez votre contrôle.
Voir aussi
- Variétés de contrôles personnalisés
- Comment : hériter de la classe du contrôle
- Procédure : 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 d’un contrôle Windows Forms
.NET Desktop feedback