Winforms-양식 캡션에서 클릭 한 것처럼 이동하려면 양식의 아무 곳이나 클릭 / 드래그합니다.

StackOverflow https://stackoverflow.com/questions/30184

  •  09-06-2019
  •  | 
  •  

문제

Winforms 응용 프로그램에서 사용되는 작은 모달 양식을 만들고 있습니다.기본적으로 일종의 진행률 표시 줄입니다.그러나 사용자가 양식의 아무 곳이나 클릭하고 드래그하여 여전히 표시되는 동안 데스크톱에서 이동할 수 있기를 바랍니다.

이 동작을 어떻게 구현할 수 있습니까?

도움이 되었습니까?

해결책

Microsoft KB Article 320687 에이 질문에 대한 자세한 답변이 있습니다..

기본적으로 테스트중인 지점이 양식의 클라이언트 영역에있을 때 WM_NCHITTEST 메시지에 HTCAPTION을 반환하도록 WndProc 메서드를 재정의합니다.양식의 캡션에 발생했습니다. 라코 디스

다른 팁

다음은 P / Invoke를 사용하여 수행하는 방법입니다. 라코 디스

다음 코드는 ProgressBarForm 양식에 Dock 속성이 Fill 으로 설정된 ProgressBar 컨트롤이 있다고 가정합니다. 라코 디스

허용되는 대답은 멋진 속임수이지만 Form이 Panel (또는 파생물)과 같이 Fill-docked 자식 컨트롤로 덮여있는 경우 항상 작동하지는 않습니다.이 컨트롤은 대부분의 Windows 메시지를 먹기 때문입니다.

다음은이 경우에도 작동하는 간단한 접근 방식입니다. 문제의 컨트롤을 파생 (표준 클래스 대신이 클래스 사용) 다음과 같이 마우스 메시지를 처리합니다. 라코 디스

VC ++ 2010 버전 (FlySwat) : 라코 디스

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