2011-02-14 11 views
32

Załóżmy, że mam Kontrolę, a jej lokalizacja jest względna względem rodzica. Jeśli jest osadzony wiele razy i jest świetnym, wspaniałym wnukiem głównej formy, jak mogę określić, jaka jest jego lokalizacja na całym moim ekranie, a nie tylko jego lokalizacja w bezpośrednim rodzicu? Ma to na celu wydrukowanie określonej Kontroli za pomocą zrzutu ekranu (ponieważ dla niektórych kontrolek, DrawToBitmap nie działa poprawnie).Uzyskiwanie położenia kontrolki względem całego ekranu?

Odpowiedz

80

Patrzysz na PointToScreen method:

Point location = someControl.PointToScreen(Point.Empty); 
+2

Zauważ, że PointToScreen trwa _client area_ współrzędne, więc za pomocą tego kodu na formularzu, na przykład nie daje poprawny wynik. – rymdsmurf

+3

@rymdsmurf nie jestem pewien, czy rozumiem cię poprawnie, ale jeśli używasz go na "Formie" (jak 'myForm.PointToScreen') i masz odpowiednie współrzędne (z' control.Location'), to da ci to właściwe współrzędne na ekranie. – Artholl

Powiązane problemy