Partage via


Création et utilisation de composants en Visual Basic

Un composant est une classe qui implémente l’interface System.ComponentModel.IComponent ou qui dérive directement ou indirectement d’une classe implémentant IComponent. Un composant .NET est un objet réutilisable qui peut interagir avec d’autres objets, qui permet de contrôler les ressources externes et qui offre une prise en charge au moment du design.

Une caractéristique importante des composants est qu’ils peuvent servir au design, ce qui signifie qu’une classe qui est un composant peut être utilisée dans l’environnement de développement intégré (IDE) de Visual Studio. Un composant peut être ajouté à la boîte à outils, faire l’objet d’un glisser-déplacer sur un formulaire et être manipulé sur une aire de conception. La prise en charge de base au moment du design pour les composants est intégrée à .NET. Les développeurs de composant n’ont pas besoin d’effectuer du travail supplémentaire pour tirer parti de la fonctionnalité de base au moment du design.

Un contrôle est similaire à un composant dans la mesure où tous les deux peuvent servir au design. Toutefois, un contrôle fournit une interface utilisateur, ce qui n’est pas le cas d’un composant. Un contrôle doit dériver de l’une des classes de contrôle de base : Control ou Control.

Quand créer un composant

Si votre classe doit être utilisée sur une aire de conception (telle que le concepteur Windows Forms ou Web Forms), mais qu’elle n’a pas d’interface utilisateur, elle doit être un composant et implémenter IComponent, ou dériver d’une classe qui implémente directement ou indirectement IComponent.

Les classes Component et MarshalByValueComponent constituent des implémentations de base de l’interface IComponent. La principale différence entre ces classes est que la classe Component est marshalée par référence, tandis que la classe IComponent est marshalée par valeur. La liste suivante fournit des indications générales relatives aux implémenteurs.

  • Si votre composant doit être marshalé par référence, dérivez-le de Component.

  • Si votre composant doit être marshalé par valeur, dérivez-le de MarshalByValueComponent.

  • Si votre composant ne peut pas dériver de l’une des implémentations de base en raison d’un héritage unique, implémentez IComponent.

Classes de composant

L’espace de noms System.ComponentModel fournit des classes utilisées pour implémenter le comportement des composants et des contrôles au moment de l’exécution et au moment du design. Cet espace de noms inclut les classes et les interfaces de base servant à l’implémentation des attributs et des convertisseurs de type, à la liaison à des sources de données et à la gestion des licences des composants.

Les classes de composant principales sont les suivantes :

Les classes utilisées pour la gestion des licences des composants sont, entre autres, les suivantes :

  • License. Classe de base abstraite pour toutes les licences. Une licence est accordée à une instance spécifique d’un composant.

  • LicenseManager. Fournit des propriétés et des méthodes permettant d’ajouter une licence à un composant et de gérer un LicenseProvider.

  • LicenseProvider. Classe de base abstraite pour l’implémentation d’un fournisseur de licences.

  • LicenseProviderAttribute. Spécifie la classe LicenseProvider à utiliser avec une classe.

Classes couramment utilisées pour la description et la persistance des composants.

  • TypeDescriptor. Fournit des informations relatives aux caractéristiques d’un composant, telles que ses attributs, ses propriétés et ses événements.

  • EventDescriptor. Fournit des informations sur un événement.

  • PropertyDescriptor. Fournit des informations sur une propriété.

Dépannage de la création de contrôles et de composants
Explique comment résoudre certains problèmes courants.

Voir aussi