문제

ShowDialog 메서드를 사용하여 모달 양식을 여는 응용 프로그램이 있습니다.이 양식이 표시되면 커서가 양식 외부에 있더라도 마우스 움직임을 캡처하고 싶습니다.마우스 움직임을 어떻게 캡처할 수 있나요?Capture 속성이 있는 것을 보았지만 제대로 작동하도록 할 수 없습니다.

[편집하다]

마우스가 폼 밖으로 이동하면 알림을 받고 싶습니다.

도움이 되었습니까?

해결책

그만큼 Capture 속성은 올바른 방법이지만 몇 가지 제한 사항이 있습니다.

  • 전경 창만 마우스를 캡처 할 수 있습니다
  • 시스템의 다른 부분에서 마우스 캡처를 비활성화 할 수 있습니다.
  • Win32 API 기능 SetCapture "마우스 업"이벤트 Occour가 매번 재설정됩니다. .NET에도 적용된다고 가정합니다.

참조 비고 섹션Capture 재산.

마우스가 캡처되면 일반적인 이벤트를받을 수 있지만 더 넓은 마우스 좌표 범위 (예 : 음의 x 위치, 마우스가 캡처 컨트롤에 남아있는 경우).

마우스 캡처는 글로벌 특성이기 때문에 연약합니다. 특정 이벤트를 처리 할 수있는 다른 방법이 있는지 확인하십시오. 아마도 MouseLeave 또는 MouseEnter 귀하의 경우 이벤트로 충분합니다.

다른 팁

정적 속성 만 사용할 수 있습니다 제어.

Cursor.Position 속성을 사용하여 커서 위치를 읽을 수 있습니다. 커서.위치

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