Delen via


Windows Forms-coördinaten

Het coördinaatsysteem voor een Windows-formulier is gebaseerd op apparaatcoördinaten en de basiseenheid voor meting bij het tekenen in Windows Forms is de apparaateenheid (meestal de pixel). Punten op het scherm worden beschreven door x- en y-coördinaatparen, waarbij de x-coördinaten rechts worden verhoogd en de y-coördinaten van boven naar beneden toenemen. De locatie van de oorsprong, ten opzichte van het scherm, is afhankelijk van of u scherm- of clientcoördinaten opgeeft.

Schermcoördinaten

Een Windows Forms-toepassing geeft de positie van een venster op het scherm in schermcoördinaten op. Voor schermcoördinaten is de oorsprong de linkerbovenhoek van het scherm. De volledige positie van een venster wordt vaak beschreven door een Rectangle structuur met de schermcoördinaten van twee punten die de hoeken linksboven en rechtsonder van het venster definiëren.

Klantcoördinaten

Een Windows Forms-toepassing geeft de positie van punten in een formulier of besturingselement aan met behulp van clientcoördinaten. De oorsprong voor clientcoördinaten is de linkerbovenhoek van het clientgebied van het besturingselement of formulier. Clientcoördinaten zorgen ervoor dat een toepassing consistente coördinaatwaarden kan gebruiken tijdens het tekenen in een formulier of besturingselement, ongeacht de positie van het formulier of besturingselement op het scherm.

De afmetingen van het clientgebied worden ook beschreven door een Rectangle structuur die clientcoördinaten voor het gebied bevat. In alle gevallen wordt de coördinaat linksboven van de rechthoek opgenomen in het clientgebied, terwijl de coördinaat rechtsonder wordt uitgesloten. Grafische bewerkingen bevatten niet de rechter- en onderrand van een clientgebied. De methode FillRectangle vult bijvoorbeeld de rechter- en onderrand van de opgegeven rechthoek, maar bevat deze randen niet.

Overgang van het ene type coördinaat naar het andere

Soms moet u mogelijk schermcoördinaten omzetten naar clientcoördinaten. U kunt dit eenvoudig doen met behulp van de PointToClient en PointToScreen methoden die beschikbaar zijn in de Control klasse. De eigenschap MousePosition van Control wordt bijvoorbeeld gerapporteerd in schermcoördinaten, maar u kunt deze converteren naar clientcoördinaten.

Zie ook