2009-05-29 5 views
6

폼이로드 될 때 certian 조건이 충족되면 대화 상자를 팝업하는 창 폼이 있습니다. 문제는 창문이 맨 위에 머 무르지 않고 부모의 것을 계속 클릭 할 수 있다는 것입니다. 그러나, 버튼을 누르면 폼이 눌려지면 동일한 창을 열게됩니다. 이렇게하면 대화 상자 창처럼 예상대로 작동합니다.ShowDialog() 창이 모달을 만들지 않습니다.

양식을 처음로드 할 때 대화 상자가 표시되는 데 문제가 있습니까?

+1

가 제대로 소유자를 설정 했습니까? – OregonGhost

+0

여기에는 여러 가지 이유가있을 수 있습니다. 임의로 추측하는 것 외에는 문제를 진단하는 유일한 방법은 사용중인 코드를 보는 것입니다. –

답변

2

ShowDialog를 Form 클래스에서 호출 하시겠습니까? 다른 폼에서 호출 된 경우에만 부모 창을 설정하기 때문입니다. 또는 IWin32Window 매개 변수가있는 오버로드를 사용하여 특별히 소유자를 설정할 수 있습니다.

0

이 대화 상자가 하나 당신도 할 수있는 다른 측면에서 부모 또는하지

private void Form1_Load(object sender, EventArgs e) 
     { 
      //your functionality goes here  
      AboutBox1 box = new AboutBox1(); 
      box.ShowDialog(); 
     } 
    } 

을 설정 폐쇄 될 때까지 양식 그 자체를 표시하지 않습니다 내 코드는 당신이 더 문제를 설명 할 수 TopMost 속성으로 확인하십시오.

0

ShowDialog 메서드는 부모/소유자가 될 양식에서 해당 양식에 모달이되도록 호출해야합니다. 또는 직접 대화 상대의 소유자를 설정할 수 있다고 생각하지만 필요가 없습니다.

0

DaBomb,

당신이 원하는 일을하려면, 당신은하지 Form_Load 이벤트에서, 당신의 기본 폼의 생성자에서 모달 대화 상자를 호출해야합니다. 이 같은

뭔가 :

public Form1() 
    { 
     InitializeComponent(); 
     this.Show(); 
     Form2 popupForm = new Form2(); 
     popupForm.ShowDialog(); 
    } 
관련 문제