2013-04-28 2 views
1

이 질문에 세부적인 내용이 없으면 죄송합니다. 나는 그것이주는 세부 사항이 그 질문의 전반적인 본질에 무관하지 않을 것이라고 확신한다. 그 이유는 ...사용자 지정 대화 상자를 다른 응용 프로그램 위에 있지 않고 상위 대화 상자에 유지하는 방법

하나의 양식을 항상 다른 양식 위에 올려 놓고 (TopMost 속성을 true로 설정 한 경우와 마찬가지로)

Microsoft Visual Studio 2012를 사용하고 있는데 이것은 WinForms (Windows Forms) 응용 프로그램입니다.

내가 대답을 발견

답변

2

는이 같은 "소유자"쇼에()에 전달할 수 있습니다 : 그 코드를 가정

MyCustomDialog.Show(this); 

*

는 "부모"양식에 의해 실행되고 있었다.

+0

내 원래 코드가 이미 그렇게했습니다. 나는 부모로서의 부름 양식을 가지고 있지 않았을 수도 있습니다. 나는 MyCustomDialog.Parent = this를 시도했다. 생성 후 컴파일 오류가 발생했습니다. 어쨌든, ShowDialog(); 내가 정확히 무엇을 필요로합니까 :) – MrVimes

+0

수정 : 내 코드가 생성자 (쇼)가 아니라 호출하는 폼을 전달한다고 생각합니다. 내 실수. 이 점을 염두에두고 집에 도착했을 때도 솔루션이 작동하는지 확인할 것입니다. – MrVimes

+0

테스트 할 수있는 기회가 있었으며 부모 폼과 상호 작용할 수 있도록 양식을 맨 위에 유지합니다. 내가 찾은 것보다이 방법을 사용하도록 코드를 변경했습니다. – MrVimes

2

... 대신

MyCustomDialog.ShowDialog(); 

은 ...

MyCustomDialog.Show(); 

원하는 효과를 얻을 것이다.

+0

이러한 종류의 자식 대화 상자를 나타내는 대화 상자를 모달 대화 상자라고합니다. 이 경우 하위가 표시되는 동안 부모 대화 상자와 상호 작용할 수 없습니다. – Bronek

+0

나는이 경우에 괜찮다. 내가 할 수 있으면 Idle_Mind의 해결책이 무엇인지보고 그것이 바람직한지를 볼 것입니다. – MrVimes

관련 문제