Delen via


Verschillende soorten besturingselementen op maat

Met .NET Framework kunt u nieuwe besturingselementen ontwikkelen en implementeren. U kunt de functionaliteit van het vertrouwde gebruikersbesturingselement en bestaande besturingselementen uitbreiden via overname. U kunt ook aangepaste besturingselementen schrijven die hun eigen schilderij uitvoeren.

Bepalen welk type controle moet worden gemaakt, kan verwarrend zijn. In dit onderwerp worden de verschillen besproken tussen de verschillende soorten besturingselementen waaruit u kunt overnemen en krijgt u informatie over het kiezen van een bepaald type besturingselement voor uw project.

Notitie

Zie Het ontwikkelen van aangepaste ASP.NET serverbesturingselementenvoor meer informatie over het ontwerpen van een besturingselement voor webformulieren.

Basisklasse voor Besturing

De Control-klasse is de basisklasse voor Besturingselementen van Windows Forms. Het biedt de infrastructuur die nodig is voor visuele weergave in Windows Forms-toepassingen.

De klasse Control voert de volgende taken uit om visuele weergave in Windows Forms-toepassingen te bieden:

  • Hiermee wordt een venstergreep weergegeven.

  • Zorgt voor de routering van berichten.

  • Biedt muis- en toetsenbord-gebeurtenissen en vele andere gebeurtenissen van de gebruikersinterface.

  • Biedt geavanceerde indelingsfuncties.

  • Bevat veel eigenschappen die specifiek zijn voor visuele weergave, zoals ForeColor, BackColor, Heighten Width.

  • Biedt de ondersteuning voor beveiliging en threading die nodig is voor een Windows Forms-besturingselement om als Microsoft® ActiveX-besturingselement® te fungeren.

Omdat zoveel van de infrastructuur wordt geleverd door de basisklasse, is het relatief eenvoudig om uw eigen Besturingselementen voor Windows Forms te ontwikkelen.

Soorten besturingselementen

Windows Forms ondersteunt drie soorten door de gebruiker gedefinieerde controls: samengestelde, uitgebreideen aangepaste. In de volgende secties worden elk type controle beschreven en worden aanbevelingen gedaan voor het kiezen van het type dat u in uw projecten wilt gebruiken.

Samengestelde besturingselementen

Een samengesteld besturingselement is een verzameling Windows Forms-besturingselementen die zijn ingekapseld in een gemeenschappelijke container. Dit type controle wordt soms een gebruikerscontrole genoemd. De ingesloten besturingselementen worden samenstellende besturingselementengenoemd.

Een samengesteld besturingselement bevat alle inherente functionaliteit die is gekoppeld aan elk van de ingesloten Besturingselementen van Windows Forms en stelt u in staat om selectief hun eigenschappen weer te geven en te binden. Een samengesteld besturingselement biedt ook een groot deel van de standaardfunctionaliteit voor toetsenbordafhandeling zonder extra ontwikkelinspanningen.

Een samengesteld besturingselement kan bijvoorbeeld worden gebouwd om klantadresgegevens uit een database weer te geven. Dit besturingselement kan een DataGridView besturingselement bevatten voor het weergeven van de databasevelden, een BindingSource voor het afhandelen van binding met een gegevensbron en een BindingNavigator besturingselement om door de records te lopen. U kunt selectief gegevensbindingseigenschappen beschikbaar maken en u kunt het hele besturingselement van toepassing naar toepassing verpakken en hergebruiken. Zie How to: Apply Attributes in Windows Forms Controlsvoor een voorbeeld van dit soort samengestelde besturingselementen.

Als u een samengesteld besturingselement wilt maken, afgeleid van de klasse UserControl. De UserControl basisklasse biedt toetsenbordroutering voor onderliggende besturingselementen en stelt onderliggende besturingselementen in staat om als groep te werken. Zie Een samengesteld Besturingselement voor Windows-formulieren ontwikkelenvoor meer informatie.

aanbeveling

Overnemen van de klasse UserControl als:

  • U wilt de functionaliteit van verschillende Besturingselementen voor Windows Forms combineren tot één herbruikbare eenheid.

Uitgebreide besturingselementen

U kunt een geërfd besturingselement afleiden van elk bestaand Windows Forms-besturingselement. Met deze methode kunt u alle inherente functionaliteit van een Besturingselement voor Windows Forms behouden en deze functionaliteit vervolgens uitbreiden door aangepaste eigenschappen, methoden of andere functies toe te voegen. Met deze optie kunt u de verflogica van het basisbeheer overschrijven en vervolgens de gebruikersinterface uitbreiden door het uiterlijk ervan te wijzigen.

U kunt bijvoorbeeld een besturingselement maken dat is afgeleid van het besturingselement Button waarmee wordt bijgehouden hoe vaak een gebruiker erop heeft geklikt.

In sommige besturingselementen kunt u ook een aangepast uiterlijk toevoegen aan de grafische gebruikersinterface van uw besturingselement door de OnPaint-methode van de basisklasse te overriden. Voor een uitgebreide functieknop die klikken bijhoudt, kunt u de methode OnPaint overschrijven door de basisimplementatie van OnPaintaan te roepen en vervolgens het aantal klikken in een hoek van het clientgebied van het Button-besturingselement te tekenen.

Aanbeveling

Erven van een Windows Forms-besturingselement als:

  • De meeste functionaliteit die u nodig hebt, is al identiek aan een bestaand Besturingselement voor Windows Forms.

  • U hebt geen aangepaste grafische gebruikersinterface nodig of u wilt een nieuwe grafische gebruikersinterface ontwerpen voor een bestaand besturingselement.

Aangepaste bedieningselementen

Een andere manier om een besturingselement te maken, is door er een vanaf het begin op te bouwen door te erven van Control. De Control-klasse biedt alle basisfunctionaliteit die vereist is voor besturingselementen, waaronder muis- en toetsenbordafhandelingsgebeurtenissen, maar geen besturingsspecifieke functionaliteit of grafische interface.

Het maken van een besturingselement door het overnemen van de Control-klasse vereist veel meer gedachten en moeite dan het overnemen van UserControl of een bestaand Besturingselement voor Windows Forms. Omdat er veel implementatie voor u overblijft, kan uw controle meer flexibiliteit hebben dan een samengestelde of uitgebreide controle en kunt u uw controle aanpassen aan uw exacte behoeften.

Als u een aangepaste control wilt implementeren, moet u code schrijven voor het OnPaint-gebeurtenis van de control, evenals code die specifiek is voor functies die u nodig heeft. U kunt ook de methode WndProc overschrijven en windows-berichten rechtstreeks afhandelen. Dit is de krachtigste manier om een besturingselement te maken, maar als u deze techniek effectief wilt gebruiken, moet u bekend zijn met de Microsoft Win32-API®.

Een voorbeeld van een aangepast besturingselement is een klokbesturing waarmee het uiterlijk en gedrag van een analoge klok wordt gedupliceerd. Aangepast schilderen wordt aangeroepen om ervoor te zorgen dat de wijzers van de klok bewegen als reactie op Tick-gebeurtenissen van het interne Timer-component. Voor meer informatie, zie Hoe te: Ontwikkel een Eenvoudige Windows Forms Control.

aanbeveling

Erf van de klasse Control als:

  • U wilt een aangepaste grafische weergave van uw controle opgeven.

  • U moet aangepaste functionaliteit implementeren die niet beschikbaar is via standaardbesturingselementen.

ActiveX-besturingselementen

Hoewel de Windows Forms-infrastructuur is geoptimaliseerd voor het hosten van Besturingselementen voor Windows Forms, kunt u nog steeds ActiveX-besturingselementen gebruiken. Er is ondersteuning voor deze taak in Visual Studio. Zie Procedure: ActiveX-besturingselementen toevoegen aan Windows Formsvoor meer informatie.

Besturingselementen zonder venster

De Microsoft Visual Basic® 6.0- en ActiveX-technologieën ondersteunen vensterloze besturingselementen. Besturingselementen zonder vensters worden niet ondersteund in Windows Forms.

Aangepaste ontwerpervaring

Als u een aangepaste ontwerpervaring wilt implementeren, kunt u uw eigen ontwerper maken. Voor samengestelde besturingselementen kunt u uw aangepaste ontwerpklasse afleiden uit de ParentControlDesigner of de DocumentDesigner klassen. Voor uitgebreide en aangepaste besturingselementen kunt u uw aangepaste ontwerpklasse afleiden uit de ControlDesigner-klasse.

Gebruik de DesignerAttribute om uw controle te koppelen aan uw ontwerper. Voor meer informatie, zie Uitbreiden Design-Time Ondersteuning en Hoe: Maak een Windows Forms-besturingselement dat gebruikmaakt van Design-Time functies.

Zie ook