문제

문제는 예를 들어 형태, 사각형으로 표시되는 그래픽이 있으며, 포인트가 Thees 필드를 넘어갈 때 캡처하고 싶습니다. 그래서 나는 사각형에 대한 상관 관계를 찾으려고 노력하지만, 마우스 위치와 일치하지 않는 형태의 코디스와 마찬가지로.

그래서 화면에서 포인트가 화면에 어떤 코디가 있는지 확인하는 방법이 있는지 궁금합니다.

도움이 되었습니까?

해결책

각각의 제어 전환 방법. 원하는 위치에있는 물체의 부모로부터 이것을 호출해야합니다.

Point scrPos = this.PointToScreen(panel1.Location);

또는 패널의 화면 좌표를 다음과 같이 얻을 수 있습니다.

Point scrPos = panel1.PointToScreen(new Point(0,0));

위의 두 가지 예는 패널의 경계 크기로 인해 다른 결과를 얻을 수 있습니다.

다른 팁

전화하여 양식의 그래픽 개체를 사용하는 경우 this.CreateGraphics() 양식 내에서 사각형을 그릴 때 사용되는 좌표는 양식의 클릭 이벤트에 의해 반환 된 것과 정확히 동일해야합니다.

포인터가 어떤 조정인지 아십니까? 전화로 창문의 좌표를 얻을 수 있습니다. GetWindowRect() 그리고 마우스 커서에서 상단/왼쪽을 빼서 클라이언트 좌표를 얻습니다.

실제로 당신을 위해 그렇게 할 수있는 기능이 있다는 것을 기억하는 것 같습니다. 그러나 Custom GUI 컨트롤에 덤벼를 쓴 이후로 시간이 지났습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top