2009-03-30 3 views
0

Windows CE에서 실행되는 .NET Compact Framework 3.5를 대상으로하는 C#으로 작성된 응용 프로그램이 있습니다. 사용자가 대화 상자를 먼저 닫지 않고 소유자 윈도우와 상호 작용하려는 경우 모달 대화 상자에 사용자 지정 시각적 큐를 제공하고 싶습니다.모달 대화 상자 외부에서 트랩 마우스 클릭

모달 대화 상자가 소유자 윈도우에서 마우스 클릭 알림을받을 수 있습니까? 소유자 창이 전체 화면에서 실행 중이므로 일반적으로 모달 대화 상자 외부에서 클릭을 트래핑하는 것으로 충분합니다.

+0

표시된대로 WndPrc 메서드를 재정의하십시오. [here] (http://stackoverflow.com/a/32480034/2362553) –

답변

3

모달리티가 작동하는 방식입니다. 대화 상자가 모달로 표시되면 (CE 또는 데스크톱 Windows) 해당 창에 자체 내부 메시지 펌프가 표시됩니다. 이것이 의미하는 바는 창 밖에서 마우스와 같은 메시지를 받으면 펌프가 그것을 버리는 것입니다. 펌프가 해당 메시지를 다른 펌프로 "보내"는 방법은 없습니다 (두 펌프 모두 직접 쓰지 않고도 가능합니다. 예, 복잡하고 복잡하며 가능한 확장 성이 없음).

0

아마도 Control.Capture 속성을 사용할 수 있습니다.

+0

이 작업을 수행 할 수 없습니다. ShowDialog 메서드를 호출하기 전에 Form의 Capture 속성을 true로 설정했지만 대화 상자 외부를 클릭 할 때 Click 이벤트를받지 못합니다. –

+0

캡쳐 세트를 사용하려면 양식을 표시해야 할 수 있습니까? – dommer

+0

나는 Capture 속성을 설정하기 전에 Form이 보이도록 노력했지만 행운은 없다. Windows CE 버릇이 될지도 ... –