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 doen om te profiteren van de basisfunctionaliteit voor ontwerptijd.

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 belangrijkste verschil tussen deze klassen is dat de klasse op basis van referentie wordt ge marshalld, terwijl IComponent de Component klasse wordt ge marshalld op waarde. De volgende lijst bevat algemene richtlijnen voor implementeerfuncties.

  • Als uw onderdeel op basis van referentie moet worden ge marshalld, afgeleid van Component.

  • Als uw onderdeel moet worden ge marshalld op basis van waarde, afgeleid van MarshalByValueComponent.

  • Als uw onderdeel niet kan worden afgeleid van een van de basis-implementaties vanwege één overname, implementeert u 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 geeft u de LicenseProvider klasse die moet worden gebruikt met een klasse.

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 het ontwerpen van besturingselementen en onderdelen oplossen
Hierin wordt uitgelegd hoe u veelvoorkomende problemen kunt oplossen.

Zie ook