Delen via


Aangepaste besturingselementen (Windows Forms .NET)

Met Windows Forms kunt u nieuwe besturingselementen maken of bestaande besturingselementen wijzigen via overname. In dit artikel worden de verschillen tussen de manieren waarop u nieuwe besturingselementen kunt maken gemarkeerd en krijgt u informatie over het kiezen van een bepaald type besturingselement voor uw project.

Basisbeheerklasse

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 en biedt de volgende mogelijkheden:

  • Hiermee wordt een venstergreep weergegeven.
  • Beheert berichtroutering.
  • 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.

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

Uw eigen beheer maken

Er zijn drie typen aangepaste besturingselementen die u kunt maken: gebruikersbesturingselementen, uitgebreide besturingselementen en aangepaste besturingselementen. In de volgende tabel kunt u bepalen welk type besturingselement u moet maken:

Als... Maak een ...
  • U wilt de functionaliteit van verschillende Besturingselementen voor Windows Forms combineren tot één herbruikbare eenheid.
Ontwerp een gebruikersbeheer door het overnemen van System.Windows.Forms.UserControl.
  • 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.
een controle uitbreiden door te erven van een specifiek Windows Forms-controle.
  • U wilt een aangepaste grafische weergave van uw besturingscomponent bieden.
  • U moet aangepaste functionaliteit implementeren die niet beschikbaar is via standaardbesturingselementen.
Maak een aangepast besturingselement door af te leiden van System.Windows.Forms.Control.

Gebruikersbediening

Een gebruikersbesturingselement is een verzameling Windows Forms-besturingselementen die als één besturingselement voor de consument worden gepresenteerd. Dit type besturingselement wordt een samengesteld besturingselementgenoemd. De ingesloten besturingselementen worden samenstellende besturingselementengenoemd.

Een gebruikersbesturingselement 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 gebruikersbeheer biedt ook een groot deel van de standaardfunctionaliteit voor toetsenbordafhandeling zonder extra ontwikkelinspanningen.

Een gebruikersbesturingselement kan bijvoorbeeld worden gebouwd om klantadresgegevens uit een database weer te geven. Dit besturingselement bevat een DataGridView besturingselement voor het weergeven van de databasevelden, een BindingSource besturingselement voor het beheren van binding met een gegevensbron en een BindingNavigator besturingselement om door de records te navigeren. U kunt selectief gegevensbindingseigenschappen beschikbaar maken en u kunt het hele besturingselement van toepassing naar toepassing verpakken en hergebruiken.

Zie Overzicht van gebruikersbeheervoor meer informatie.

Uitgebreide bedieningselementen

U kunt een overgenomen besturingselement afleiden van elk bestaand Windows Forms-besturingselement. Met deze methode kunt u alle inherente functionaliteit van een Windows Forms-besturingselement behouden en die 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 aan de grafische gebruikersinterface van de controle toevoegen door de methode OnPaint van de basisklasse te overschrijven. Voor een uitgebreide knop die klikken bijhoudt, kunt u de methode OnPaint overschrijven om de basisimplementatie van OnPaintaan te roepen en vervolgens het aantal klikken in een hoek van de clientruimte van het Button-besturingselement te tekenen.

Aangepaste besturingselementen

Een andere manier om een besturingselement te creëren, is er een volledig 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 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 aangepast besturingselement wilt implementeren, moet u code schrijven voor de OnPaint gebeurtenis van het besturingselement, die bepaalt hoe het besturingselement visueel wordt getekend. U moet ook functiespecifiek gedrag schrijven voor uw controle. 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 events van een interne Timer component.

Aangepaste ontwerpervaring

Als u een aangepaste ontwerptijdervaring wilt implementeren, kunt u uw eigen ontwerpfunctie ontwerpen. 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 bedieningselement te koppelen aan uw ontwerptool.

De volgende informatie is verouderd, maar kan u helpen.