ToolboxItem est une classe de base pour les éléments de boîte à outils pouvant être affichés dans la boîte à outils d'un environnement de design. Un élément de boîte à outils représente généralement un composant à créer lorsqu'il est appelé sur un document en mode design. La classe ToolboxItem fournit les méthodes et les propriétés nécessaires pour doter la boîte à outils des propriétés d'affichage destinées à l'élément de boîte à outils, pour créer un ou plusieurs composants lorsque ceux-ci doivent être utilisés et pour se sérialiser et se désérialiser pour assurer sa persistance dans la base de données de la boîte à outils.
Une instance de la classe ToolboxItem peut être configurée à l'aide d'un nom, d'une bitmap et du type à créer, sans créer une classe qui dérive de ToolboxItem. La classe ToolboxItem fournit également une classe de base pour les implémentations des éléments de boîte à outils personnalisés. Un ToolboxItem personnalisé peut créer plusieurs composants. Pour implémenter un élément de boîte à outils personnalisé, vous devez effectuer une dérivation de ToolboxItem et substituer les méthodes CreateComponentsCore, Serialize et Deserialize.
Les propriétés et méthodes suivantes doivent être configurées pour que ToolboxItem fonctionne correctement :
La propriété DisplayName spécifie l'étiquette de l'élément de boîte à outils lors de l'affichage dans une boîte à outils.
La propriété TypeName spécifie le nom qualifié complet du type de composant que l'élément crée. Si une classe dérivée crée plusieurs composants, la propriété TypeName peut ou non être utilisée, selon qu'une substitution de méthode CreateComponentsCore dépend ou non de la valeur de cette propriété.
La propriété AssemblyName spécifie l'assembly contenant le type d'un composant que l'élément crée.
La propriété Bitmap spécifie de manière facultative une image bitmap à afficher à côté du nom complet de l'élément de boîte à outils dans la boîte à outils.
La propriété Filter contient éventuellement les objets ToolboxItemFilterAttribute qui déterminent si l'élément de boîte à outils peut être utilisé sur un composant particulier.
La méthode CreateComponentsCore retourne l'instance ou les instances du composant à insérer à l'emplacement où cet outil est utilisé.
La méthode Serialize enregistre l'élément de boîte à outils dans un SerializationInfo spécifié.
La méthode Deserialize configure l'élément de boîte à outils à partir des informations d'état contenues dans le SerializationInfo spécifié.
La méthode Initialize configure l'élément de boîte à outils pour créer le type de composant spécifié, si la méthode CreateComponentsCore n'a pas été substituée pour se comporter différemment.
La propriété Locked indique si les propriétés de l'élément de boîte à outils peuvent être modifiées. Un élément de boîte à outils est généralement verrouillé une fois qu'il a été ajouté à une boîte à outils.
La méthode Lock verrouille un élément de boîte à outils.
La méthode CheckUnlocked lève une exception si la propriété Locked est true.