2010-08-11 5 views
3

나는 문제는 이제 대화창 부모 모달때문이다 (ShowDialog를 포함)이 대화 상자에서 열린 모달 대화 오픈 다시 모달 대화 상자가을 잠그지 않고 두 번째 모달 대화 상자를 클릭하면 배경으로 이동합니다. 첫 번째 모달 대화 상자를 닫으면 두 번째 모달 대화 상자가 여전히 바탕 화면에 남아 있습니다. 이 동작을 방지하려면 어떻게합니까?이 시나리오의 문제점은 무엇입니까?윈폼 :에 두 번째 모달 대화 상자를 열고 이미 열려있는 모달 대화

+1

이 방법은'ShowDialog'가 작동하는 방식이 아닙니다. 문제를 나타내는 코드 부분을 붙여 넣을 수 있습니까? –

답변

6

대화 상자의 소유자 속성을 설정했는지 확인하십시오. 이것은 새로운 윈도우가 모달이 될 때 어떤 윈도우를 사용할 수 없게 할지를 WinForms/Win32에 알려줍니다. 당신을 위해 소유자 체인을 설정해야 secondDialog.ShowDialog(firstDialog)를 호출하려고

secondDialog.Owner = firstDialog; 
secondDialog.ShowDialog() 

을 또는 : 같은 것을 할.

+1

+1 사실상 항상 소유자 매개 변수를 'ShowDialog'에 전달해야합니다. –

관련 문제