Delen via


Hoe muisinvoer werkt in Windows Forms

Het ontvangen en verwerken van muisinvoer is een belangrijk onderdeel van elke Windows-toepassing. U kunt muis gebeurtenissen afhandelen om een actie uit te voeren in uw toepassing, of muislocatiegegevens gebruiken om hittests of andere acties uit te voeren. Daarnaast kunt u de manier wijzigen waarop de besturingselementen in uw toepassing muisinvoer verwerken. In dit onderwerp worden deze muisevenementen gedetailleerd beschreven en hoe u systeeminstellingen voor de muis kunt verkrijgen en wijzigen. Zie Muisgebeurtenissen in Windows Formsvoor meer informatie over de gegevens die worden verstrekt bij de muisgebeurtenissen en de volgorde waarin de muisklikgebeurtenissen optreden.

Locatie en Hit-Testing van de muis

Wanneer de gebruiker de muis verplaatst, verplaatst het besturingssysteem de muisaanwijzer. De muisaanwijzer bevat één pixel, de hot spot genoemd, die door het besturingssysteem wordt bijgehouden en herkend als de positie van de aanwijzer. Wanneer de gebruiker de muis beweegt of op een muisknop drukt, genereert de Control dat de HotSpot bevat de juiste muisgebeurtenis. U kunt de huidige muispositie verkrijgen met de eigenschap Location van de MouseEventArgs bij het afhandelen van een muisevenement of met behulp van de eigenschap Position van de Cursor-klasse. U kunt vervolgens informatie over de locatie van de muis gebruiken om hittests uit te voeren en vervolgens een actie uit te voeren op basis van de locatie van de muis. De mogelijkheid voor het testen van treffers is ingebouwd in verschillende besturingselementen in Windows Forms, zoals de ListView, TreeView, MonthCalendar en DataGridView besturingselementen. Wordt gebruikt met de juiste muisgebeurtenis, bijvoorbeeld MouseHover, is hit-testing erg handig om te bepalen wanneer uw toepassing een specifieke actie moet uitvoeren.

Muisevenementen

De primaire manier om te reageren op muisinvoer is het afhandelen van muisevenementen. In de volgende tabel ziet u de muisevenementen en wordt beschreven wanneer deze worden gegenereerd.

Muisgebeurtenis Beschrijving
Click Deze gebeurtenis treedt op wanneer de muisknop wordt vrijgegeven, meestal vóór de MouseUp gebeurtenis. De handler voor deze gebeurtenis ontvangt een argument van het type EventArgs. U kunt deze gebeurtenis afhandelen wanneer u alleen hoeft te bepalen wanneer er een klik plaatsvindt.
MouseClick Deze gebeurtenis treedt op wanneer de gebruiker met de muis op het besturingselement klikt. De handler voor deze gebeurtenis ontvangt een argument van het type MouseEventArgs. U kunt deze gebeurtenis afhandelen wanneer u informatie over de muis wilt krijgen als er geklikt wordt.
DoubleClick Deze gebeurtenis treedt op wanneer op het besturingselement wordt dubbelklikken. De handler voor deze gebeurtenis ontvangt een argument van het type EventArgs. Voer deze gebeurtenis af wanneer u alleen hoeft te bepalen wanneer er een dubbelklik optreedt.
MouseDoubleClick Deze gebeurtenis treedt op wanneer de gebruiker dubbelklikt op het besturingselement met de muis. De handler voor deze gebeurtenis ontvangt een argument van het type MouseEventArgs. U kunt deze gebeurtenis afhandelen wanneer u informatie over de muis wilt krijgen wanneer er een dubbelklik optreedt.
MouseDown Deze gebeurtenis treedt op wanneer de muisaanwijzer zich boven het besturingselement bevindt en de gebruiker op een muisknop drukt. De handler voor deze gebeurtenis ontvangt een argument van het type MouseEventArgs.
MouseEnter Deze gebeurtenis treedt op wanneer de muiswijzer de rand of het clientgebied van het besturingselement binnenkomt, afhankelijk van het type besturingselement. De handler voor deze gebeurtenis ontvangt een argument van het type EventArgs.
MouseHover Deze gebeurtenis treedt op wanneer de muis aanwijzer stopt en over het besturingselement rust. De handler voor deze gebeurtenis ontvangt een argument van het type EventArgs.
MouseLeave Deze gebeurtenis treedt op wanneer de muiswijzer de rand of het clientgebied van het besturingselement verlaat, afhankelijk van het type besturingselement. De handler voor deze gebeurtenis ontvangt een argument van het type EventArgs.
MouseMove Deze gebeurtenis treedt op wanneer de muisaanwijzer wordt verplaatst terwijl deze boven een controle is. De handler voor deze gebeurtenis ontvangt een argument van het type MouseEventArgs.
MouseUp Deze gebeurtenis treedt op wanneer de muisaanwijzer zich boven het besturingselement bevindt en de gebruiker een muisknop loslaat. De handler voor deze gebeurtenis ontvangt een argument van het type MouseEventArgs.
MouseWheel Deze gebeurtenis treedt op wanneer de gebruiker het muiswiel draait terwijl het besturingselement de focus heeft. De handler voor deze gebeurtenis ontvangt een argument van het type MouseEventArgs. U kunt de eigenschap Delta van MouseEventArgs gebruiken om te bepalen hoe ver de muis heeft gescrold.

Muisinvoer wijzigen en systeeminstellingen detecteren

U kunt detecteren en wijzigen hoe een besturingselement muisinvoer verwerkt door van het besturingselement af te leiden en de GetStyle en SetStyle methoden te gebruiken. De methode SetStyle gebruikt een bitsgewijze combinatie van ControlStyles waarden om te bepalen of het besturingselement standaard klik- of dubbelklikgedrag heeft of als het besturingselement zijn eigen muisverwerking afhandelt. Bovendien bevat de klasse SystemInformation eigenschappen die de mogelijkheden van de muis beschrijven en opgeven hoe de muis communiceert met het besturingssysteem. De volgende tabel bevat een overzicht van deze eigenschappen.

Eigendom Beschrijving
DoubleClickSize Hiermee haalt u de afmetingen, in pixels, op van het gebied waarin de gebruiker tweemaal moet klikken om de twee klikken als een dubbelklik te laten beschouwen door het besturingssysteem.
DoubleClickTime Hiermee haalt u het maximum aantal milliseconden op dat kan verstrijken tussen een eerste klik en een tweede klik, zodat het besturingssysteem de muisactie als een dubbelklik beschouwt.
MouseButtons Hiermee bepaalt u het aantal knoppen op de muis.
MouseButtonsSwapped Hiermee wordt een waarde opgehaald die aangeeft of de functies van de linker- en rechtermuisknoppen zijn gewisseld.
MouseHoverSize Hiermee haalt u de afmetingen, in pixels, op van de rechthoek waarin de muisaanwijzer moet blijven voor de zwevende tijd, voordat er een muisaanwijzerbericht wordt gegenereerd.
MouseHoverTime Hiermee haalt u de tijd in milliseconden op dat de muisaanwijzer in de hover-rechthoek moet blijven voordat er een bericht wordt gegenereerd.
MousePresent Hiermee wordt een waarde opgehaald die aangeeft of een muis is geïnstalleerd.
MouseSpeed Hiermee haalt u een waarde op die de huidige muissnelheid aangeeft, van 1 tot 20.
MouseWheelPresent Hiermee wordt een waarde opgehaald die aangeeft of een muis met een muiswiel is geïnstalleerd.
MouseWheelScrollDelta Hiermee haalt u de hoeveelheid deltawaarde van de verhoging van één muiswielrotatie op.
MouseWheelScrollLines Hiermee haalt u het aantal lijnen op om te schuiven wanneer het muiswiel wordt gedraaid.

Zie ook