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 qui implémente IComponent. Un composant du .NET Framework est un objet réutilisable qui peut interagir avec d'autres objets, permet de contrôler les ressources externes et offre une prise en charge au moment du design.

Une fonctionnalité importante des composants est leur concevabilité, ce qui signifie qu'une classe qui correspond à un composant peut être utilisée dans l'environnement de développement intégré (IDE, Integrated Development Environment) 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. Notez que la prise en charge de base au moment du design pour les composants est intégrée au .NET Framework ; un développeur de composant ne doit effectuer aucun 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 sont concevables. 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.

Moment de création d'un composant

Si votre classe doit être utilisée sur une aire de conception (telle que le concepteur Windows Forms ou Web Forms), et qu'elle n'a pas d'interface, 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 différence principale 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 pour les implémenteurs.

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

  • Si votre composant doit être marshalé par valeur, dérivez 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.

Pour plus d'informations sur la prise en charge au moment du design, consultez Attributs en mode design pour les composants et Extension de la prise en charge au moment du design.

Classes de composant

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

Les principales classes de composant sont les suivantes :

Les classes utilisées pour la licence 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 fréquemment 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é.

Rubriques connexes

Voir aussi

Tâches

Comment : accéder à la prise en charge au moment du design dans les Windows Forms

Comment : étendre l'apparence et le comportement des contrôles en mode design

Comment : effectuer une initialisation personnalisée pour les contrôles en mode design