Partager via


Recommandations relatives au type du contrôle

Le .NET Framework vous offre la possibilité de développer et d'implémenter de nouveaux contrôles. En plus du traditionnel contrôle utilisateur, vous allez maintenant découvrir que vous pouvez écrire des contrôles personnalisés qui effectuent leur propre peinture et même développer les fonctionnalités des contrôles existants grâce à l'héritage. Vous aurez parfois du mal à choisir entre ces différents types de contrôle. C'est pourquoi nous vous expliquons ici ce qui différencie les divers types de contrôles dont vous pouvez hériter et nous vous donnons des conseils sur le type à choisir en fonction de votre projet.

Notes

Si vous souhaitez créer un contrôle à utiliser sur les Web Forms, consultez Développement de contrôles serveur ASP.NET personnalisés.

Héritage d'un contrôle Windows Forms

Vous pouvez créer un contrôle hérité à partir de n'importe quel contrôle Windows Forms existant. Cette méthode vous permet de conserver toutes les fonctionnalités inhérentes au contrôle Windows Forms et même de les enrichir en y ajoutant des propriétés, des méthodes personnalisées ou encore d'autres fonctionnalités. Par exemple, vous pouvez créer un contrôle dérivé de TextBox qui n'accepte que les nombres et convertit automatiquement les données entrées en une valeur. Ce contrôle peut contenir du code de validation qui est appelé à chaque modification du texte contenu dans la zone et posséder une propriété supplémentaire, Value. Dans certains cas, vous pouvez également ajouter une apparence personnalisée à l'interface graphique de votre contrôle en substituant la méthode OnPaint de la classe de base.

Optez pour l'héritage d'un contrôle Windows Forms si :

  • les fonctionnalités dont vous avez besoin sont pour la plupart identiques à celles d'un contrôle Windows Forms existant ;

  • vous n'avez pas besoin d'une interface graphique personnalisée ou si vous souhaitez en créer une nouvelle pour un contrôle existant.

Héritage de la classe UserControl

Un contrôle utilisateur est une collection de contrôles Windows Forms encapsulés dans un même conteneur. Le conteneur détient toutes les fonctionnalités inhérentes à chacun des contrôles Windows Forms et vous permet d'exposer et de lier sélectivement leurs propriétés. Un contrôle affichant des adresses de clients extraites d'une base de données est un exemple de contrôle utilisateur. Ce contrôle contiendrait plusieurs zones de texte affichant chaque champ et des contrôles de bouton permettant de naviguer d'un enregistrement à l'autre. Les propriétés de liaison de données peuvent être exposées sélectivement et le contrôle réutilisé dans d'autres applications.

Optez pour l'héritage de la classe UserControl si :

  • vous voulez combiner les fonctionnalités de plusieurs contrôles Windows Forms dans une même entité réutilisable.

Héritage de la classe Control

Une autre méthode consiste à créer un contrôle presque entièrement nouveau en héritant de la classe Control. La classe Control fournit toutes les fonctionnalités élémentaires requises par les contrôles (par exemple, des événements), mais pas de fonctionnalité spécifique ni d'interface graphique. Créer un contrôle par héritage de la classe Control exige beaucoup plus de réflexion et d'efforts que d'hériter d'un contrôle utilisateur ou d'un contrôle Windows Forms existant. En effet, il faut écrire du code pour l'événement OnPaint du contrôle, mais aussi tout le code spécifique aux fonctionnalités nécessaires. Toutefois, cette méthode offre une plus grande souplesse et vous permet de personnaliser un contrôle pour l'adapter exactement à vos besoins. Un contrôle d'horloge imitant l'aspect et le fonctionnement d'une horloge analogique est un exemple de contrôle personnalisé. En effet, il est fait appel à la peinture personnalisée pour simuler le déplacement des aiguilles sur le cadran en réponse aux événements Tick d'un composant d'horloge interne.

Optez pour l'héritage de la classe Control si :

  • vous voulez fournir une représentation graphique personnalisée de votre contrôle ;

  • vous devez implémenter des fonctionnalités personnalisées que n'offrent pas les contrôles standard.

Topic Location
Comment : créer un contrôle Windows Forms qui bénéficie des fonctionnalités au moment du design .NET Framework : développement d'applications
Comment : hériter de la classe UserControl Contrôles Windows Forms
Comment : aligner un contrôle sur les bords des formulaires au moment du design Contrôles Windows Forms
Comment : créer des contrôles composites Contrôles Windows Forms
Comment : fournir une bitmap pour un contrôle en vue de l'afficher dans la boîte à outils Contrôles Windows Forms
Procédure pas à pas : héritage d'un contrôle Windows Forms à l'aide de Visual C# Contrôles Windows Forms
Procédure pas à pas : débogage des contrôles Windows Forms personnalisés au moment du design Contrôles Windows Forms
Comment : hériter de contrôles Windows Forms existants Contrôles Windows Forms
Comment : afficher un contrôle dans la boîte de dialogue Personnaliser la boîte à outils Contrôles Windows Forms
Procédure pas à pas : création d'un contrôle composite à l'aide de Visual C# Contrôles Windows Forms
Procédure pas à pas : création d'un contrôle composite à l'aide de Visual Basic Contrôles Windows Forms
Comment : créer des contrôles pour des Windows Forms Contrôles Windows Forms
Comment : hériter de la classe du contrôle Contrôles Windows Forms
Procédure pas à pas : héritage à partir d'un contrôle Windows Forms à l'aide de Visual Basic Contrôles Windows Forms
Procédure pas à pas : sérialisation des collections de types standard avec DesignerSerializationVisibilityAttribute Contrôles Windows Forms
Comment : tester le comportement d'un UserControl au moment de l'exécution Contrôles Windows Forms
Comment : créer un contrôle Windows Forms qui bénéficie des fonctionnalités au moment du design .NET Framework : développement d'applications
Comment : afficher un contrôle dans la boîte de dialogue Personnaliser la boîte à outils Contrôles Windows Forms
Procédure pas à pas : sérialisation des collections de types standard avec DesignerSerializationVisibilityAttribute Contrôles Windows Forms
Procédure pas à pas : héritage d'un contrôle Windows Forms à l'aide de Visual C# Contrôles Windows Forms
Comment : fournir une bitmap pour un contrôle en vue de l'afficher dans la boîte à outils Contrôles Windows Forms
Comment : hériter de contrôles Windows Forms existants Contrôles Windows Forms
Procédure pas à pas : débogage des contrôles Windows Forms personnalisés au moment du design Contrôles Windows Forms
Comment : hériter de la classe du contrôle Contrôles Windows Forms
Comment : tester le comportement d'un UserControl au moment de l'exécution Contrôles Windows Forms
Comment : aligner un contrôle sur les bords des formulaires au moment du design Contrôles Windows Forms
Comment : hériter de la classe UserControl Contrôles Windows Forms
Comment : créer des contrôles pour des Windows Forms Contrôles Windows Forms
Comment : créer des contrôles composites Contrôles Windows Forms
Procédure pas à pas : création d'un contrôle composite à l'aide de Visual Basic Contrôles Windows Forms
Procédure pas à pas : création d'un contrôle composite à l'aide de Visual C# Contrôles Windows Forms
Procédure pas à pas : héritage à partir d'un contrôle Windows Forms à l'aide de Visual Basic Contrôles Windows Forms
Comment : créer un contrôle Windows Forms qui bénéficie des fonctionnalités au moment du design .NET Framework : développement d'applications
Comment : afficher un contrôle dans la boîte de dialogue Personnaliser la boîte à outils Contrôles Windows Forms
Procédure pas à pas : sérialisation des collections de types standard avec DesignerSerializationVisibilityAttribute Contrôles Windows Forms
Procédure pas à pas : héritage d'un contrôle Windows Forms à l'aide de Visual C# Contrôles Windows Forms
Comment : fournir une bitmap pour un contrôle en vue de l'afficher dans la boîte à outils Contrôles Windows Forms
Comment : hériter de contrôles Windows Forms existants Contrôles Windows Forms
Procédure pas à pas : débogage des contrôles Windows Forms personnalisés au moment du design Contrôles Windows Forms
Comment : hériter de la classe du contrôle Contrôles Windows Forms
Comment : tester le comportement d'un UserControl au moment de l'exécution Contrôles Windows Forms
Comment : aligner un contrôle sur les bords des formulaires au moment du design Contrôles Windows Forms
Comment : hériter de la classe UserControl Contrôles Windows Forms
Comment : créer des contrôles pour des Windows Forms Contrôles Windows Forms
Comment : créer des contrôles composites Contrôles Windows Forms
Procédure pas à pas : création d'un contrôle composite à l'aide de Visual Basic Contrôles Windows Forms
Procédure pas à pas : création d'un contrôle composite à l'aide de Visual C# Contrôles Windows Forms
Procédure pas à pas : héritage à partir d'un contrôle Windows Forms à l'aide de Visual Basic Contrôles Windows Forms
Comment : créer un contrôle Windows Forms qui bénéficie des fonctionnalités au moment du design dv_fxdeveloping
Comment : afficher un contrôle dans la boîte de dialogue Choisir des éléments de boîte à outils dv_mclictl
Procédure pas à pas : sérialisation des collections de types standard avec DesignerSerializationVisibilityAttribute dv_mclictl
Procédure pas à pas : héritage d'un contrôle Windows Forms à l'aide de Visual C# dv_mclictl
Comment : fournir une bitmap pour un contrôle en vue de l'afficher dans la boîte à outils dv_mclictl
Comment : hériter de contrôles Windows Forms existants dv_mclictl
Procédure pas à pas : débogage des contrôles Windows Forms personnalisés au moment du design dv_mclictl
Comment : hériter de la classe du contrôle dv_mclictl
Comment : tester le comportement d'un UserControl au moment de l'exécution dv_mclictl
Comment : aligner un contrôle sur les bords des formulaires au moment du design dv_mclictl
Comment : hériter de la classe UserControl dv_mclictl
Comment : créer des contrôles pour des Windows Forms dv_mclictl
Comment : créer des contrôles composites dv_mclictl
Procédure pas à pas : création d'un contrôle composite à l'aide de Visual Basic dv_mclictl
Procédure pas à pas : création d'un contrôle composite à l'aide de Visual C# dv_mclictl
Procédure pas à pas : héritage à partir d'un contrôle Windows Forms à l'aide de Visual Basic dv_mclictl
Comment : créer un contrôle Windows Forms qui bénéficie des fonctionnalités au moment du design dv_fxdeveloping

Voir aussi

Tâches

Comment : développer un contrôle Windows Forms simple

Concepts

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