2010-08-22 1 views
2

글쎄 내가 PointToScreen()하지만 컨트롤이 그룹 상자 안에있을 때이 메서드는 작동하지 않으며 잘못된 좌표를 제공합니다.
그룹 상자 컨트롤 안에 컨트롤의 위치를 ​​가져 오는 다른 방법이 있습니까?
컨트롤 근처에 대화 상자를 표시 할 수 있도록 화면 위치가 필요합니다.
감사합니다.그룹 상자 컨트롤 내부에서 컨트롤의 Screen 위치를 가져 오는 방법은 무엇입니까?

답변

5
아마

잘못된 컨트롤 PointToScreen를 사용하는 ...

은 다음 코드는 단지 Fi를 작동 ...이 도움이되기를 바랍니다 ne :

Point p = groupBox1.PointToScreen(button1.Location); 
+0

예이 하나의 작품 :) 그리고 만약 내가 중첩 된 그룹 상자가 다음 방법은 무엇입니까? – Karim

+0

카림, 나는 같다고 생각합니다. 원하는 컨트롤에 부모의'PointToScreen' 메소드를 사용하기 만하면됩니다. –

1

잘 모르겠지만 구성 요소와 해당 컨테이너의 위치를 ​​추가 할 수 있습니다. 당신이 그룹 상자 안에 텍스트 상자가있는 경우

예를 들어, 당신은이 작업을 수행 할 수 있습니다

Point p = textbox.location + groupbox.location + this.location; 

"this.location는"화면에 기본 폼의 위치를 ​​가져 오는 데 사용됩니다

당신이 버튼으로 그룹 상자가있는 경우

+0

나는이 방법을 알고 있지만 그것을 사용하고 싶지 않습니다. 이것은 왜 내가 stackoverflow이 질문에 그들이 더 좋은 방법이 있어야합니다 이유가 무엇입니까 – Karim

관련 문제