Delen via


Onderdelen maken en gebruiken in Visual Basic

Een onderdeel is een klasse die de System.ComponentModel.IComponent interface implementeert of die direct of indirect is afgeleid van een klasse die implementeert IComponent. Een .NET-onderdeel is een object dat herbruikbaar is, kan communiceren met andere objecten en controle biedt over externe resources en ondersteuning voor ontwerptijd.

Een belangrijke functie van onderdelen is dat ze ontwerpbaar zijn, wat betekent dat een klasse die een onderdeel is, kan worden gebruikt in de geïntegreerde ontwikkelomgeving van Visual Studio. Een onderdeel kan worden toegevoegd aan de Werkset, gesleept en neergezet op een formulier en bewerkt op een ontwerpoppervlak. Basisondersteuning voor ontwerptijd voor onderdelen is ingebouwd in .NET. Een onderdeelontwikkelaar hoeft geen extra werk te verrichten om gebruik te maken van de basisfunctionaliteit tijdens het ontwerpen.

Een besturingselement is vergelijkbaar met een onderdeel, omdat beide ontwerpbaar zijn. Een besturingselement biedt echter een gebruikersinterface, terwijl een onderdeel dat niet doet. Een besturingselement moet zijn afgeleid van een van de basisbeheerklassen: Control of Control.

Wanneer moet u een onderdeel maken

Als uw klasse wordt gebruikt op een ontwerpoppervlak (zoals Windows Forms of Web Forms Designer), maar geen gebruikersinterface heeft, moet deze een onderdeel zijn en een klasse implementeren IComponentof afleiden van een klasse die direct of indirect wordt geïmplementeerd IComponent.

De Component en MarshalByValueComponent klassen zijn basis-implementaties van de IComponent interface. Het grootste verschil tussen deze klassen is dat de Component-klasse gemarshalled wordt op basis van referentie, terwijl de IComponent-klasse gemarshalled wordt op basis van waarde. De volgende lijst bevat algemene richtlijnen voor implementeerfuncties.

  • Als uw component op basis van referentie moet worden gemarshalled, leidt u het af van Component.

  • Als uw onderdeel gemarshalled moet worden op basis van waarde, leid af van MarshalByValueComponent.

  • Als uw onderdeel vanwege enkele overerving niet kan worden afgeleid van een van de basis-implementaties, implementeer dan IComponent.

Onderdeelklassen

De System.ComponentModel naamruimte biedt klassen die worden gebruikt om het runtime- en ontwerptijdgedrag van onderdelen en besturingselementen te implementeren. Deze naamruimte bevat de basisklassen en interfaces voor het implementeren van kenmerken en typeconversieprogramma's, binding met gegevensbronnen en licentieonderdelen.

De kernonderdeelklassen zijn:

Enkele van de klassen die worden gebruikt voor onderdeellicenties zijn:

  • License. De abstracte basisklasse voor alle licenties. Er wordt een licentie verleend aan een specifiek exemplaar van een onderdeel.

  • LicenseManager. Biedt eigenschappen en methoden voor het toevoegen van een licentie aan een onderdeel en voor het beheren van een LicenseProvider.

  • LicenseProvider. De abstracte basisklasse voor het implementeren van een licentieprovider.

  • LicenseProviderAttribute. Hiermee specificeert u de LicenseProvider klasse die in combinatie met een klasse moet worden gebruikt.

Klassen die vaak worden gebruikt voor het beschrijven en behouden van onderdelen.

  • TypeDescriptor. Bevat informatie over de kenmerken van een onderdeel, zoals de kenmerken, eigenschappen en gebeurtenissen.

  • EventDescriptor. Bevat informatie over een gebeurtenis.

  • PropertyDescriptor. Bevat informatie over een eigenschap.

Problemen met beheer- en onderdeelcreatie oplossen
Hierin wordt uitgelegd hoe u veelvoorkomende problemen kunt oplossen.

Zie ook