Koordinater för Windows-formulär
Koordinatsystemet för ett Windows-formulär baseras på enhetskoordinater, och den grundläggande måttenheten när du ritar i Windows Forms är enheten (vanligtvis pixeln). Punkter på skärmen beskrivs av x- och y-koordinatpar, där x-koordinaterna ökar till höger och y-koordinaterna ökar uppifrån och ned. Platsen för ursprunget, i förhållande till skärmen, varierar beroende på om du anger skärm- eller klientkoordinater.
Skärmkoordinater
Ett Windows Forms-program anger positionen för ett fönster på skärmen i skärmkoordinater. För skärmkoordinater är ursprunget det övre vänstra hörnet på skärmen. Fönstrets fullständiga position beskrivs ofta av en Rectangle struktur som innehåller skärmkoordinaterna för två punkter som definierar fönstrets övre vänstra och nedre högra hörn.
Kundkoordinater
Ett Windows Forms-program anger positionen för punkter i ett formulär eller en kontroll med hjälp av klientkoordinater. Ursprunget för klientkoordinater är det övre vänstra hörnet i klientområdet i kontrollen eller formuläret. Klientkoordinater säkerställer att ett program kan använda konsekventa koordinatvärden när de ritas i ett formulär eller en kontroll, oavsett formulärets eller kontrollens position på skärmen.
Klientområdets dimensioner beskrivs också av en Rectangle struktur som innehåller klientkoordinater för området. I samtliga fall ingår den övre vänstra koordinaten för rektangeln i klientområdet, medan koordinaten längst ned till höger undantas. Grafikåtgärder inkluderar inte höger och nedre kanter i ett klientområde. Metoden FillRectangle fyller till exempel upp till höger och nedre kanten av den angivna rektangeln, men inkluderar inte dessa kanter.
Mappning från en typ av koordinat till en annan
Ibland kan du behöva mappa från skärmkoordinater till klientkoordinater. Du kan enkelt göra detta med hjälp av de PointToClient- och PointToScreen metoder som är tillgängliga i klassen Control. Till exempel rapporteras egenskapen MousePosition för Control i skärmkoordinater, men du kanske vill konvertera dessa till klientkoordinater.
Se även
.NET Desktop feedback