Comment : étendre des conteneurs de composants
Les conteneurs sont complètement extensibles.Vous pouvez hériter de la classe Container et ajouter des propriétés et des méthodes ainsi que des fonctionnalités personnalisées pour appliquer des règles ou encore substituer les méthodes de base ou toute autre fonctionnalité personnalisée que vous voulez incorporer à votre conteneur.Pour plus d'informations sur les conteneurs et leur extension, consultez Conteneurs, sites et composants.
Une classe de base Container s'étend comme n'importe quelle autre classe.Vous créez une classe qui hérite des propriétés de la classe de base, substituez les méthodes de base que vous souhaitez étendre et ajoutez les propriétés et méthodes supplémentaires dont vous avez besoin.Vous pouvez ensuite utiliser votre nouvelle classe comme n'importe quelle classe de base Container standard et utiliser toute nouvelle fonctionnalité que vous avez encodée.
Pour développer la classe de base Container
Déclarez une nouvelle classe qui hérite de la classe Container.
Public Class myContainer Inherits System.ComponentModel.Container End Class
class myContainer: System.ComponentModel.Container { }
Substituez une méthode quelconque de la classe de base afin d'ajouter des fonctionnalités supplémentaires.L'exemple suivant montre comment substituer la méthode Add.
[!REMARQUE]
Container possède en fait deux surcharges de Add et, dans cet exemple, vous voulez substituer chacune d'elles.
' Because Add is overloaded, this line includes the Overloads keyword. Public Overloads Overrides Sub Add(ByVal component As _ System.ComponentModel.IComponent) ' Determines if the component can be added to the container. If TypeOf component Is Widget Then ' Calls the base Add function to add the component. MyBase.Add(component) Else ' Throws an exception. Throw New NonWidgetException() End If End Sub
public override void Add(System.ComponentModel.IComponent component) { if (component is Widget) base.Add(component); else { throw(new NonWidgetException()); } }
Ajoutez toutes les nouvelles propriétés ou méthodes que vous souhaitez incorporer à votre conteneur.
Voir aussi
Tâches
Comment : créer des conteneurs de composants