폼이로드 될 때 certian 조건이 충족되면 대화 상자를 팝업하는 창 폼이 있습니다. 문제는 창문이 맨 위에 머 무르지 않고 부모의 것을 계속 클릭 할 수 있다는 것입니다. 그러나, 버튼을 누르면 폼이 눌려지면 동일한 창을 열게됩니다. 이렇게하면 대화 상자 창처럼 예상대로 작동합니다.ShowDialog() 창이 모달을 만들지 않습니다.
양식을 처음로드 할 때 대화 상자가 표시되는 데 문제가 있습니까?
폼이로드 될 때 certian 조건이 충족되면 대화 상자를 팝업하는 창 폼이 있습니다. 문제는 창문이 맨 위에 머 무르지 않고 부모의 것을 계속 클릭 할 수 있다는 것입니다. 그러나, 버튼을 누르면 폼이 눌려지면 동일한 창을 열게됩니다. 이렇게하면 대화 상자 창처럼 예상대로 작동합니다.ShowDialog() 창이 모달을 만들지 않습니다.
양식을 처음로드 할 때 대화 상자가 표시되는 데 문제가 있습니까?
ShowDialog를 Form 클래스에서 호출 하시겠습니까? 다른 폼에서 호출 된 경우에만 부모 창을 설정하기 때문입니다. 또는 IWin32Window 매개 변수가있는 오버로드를 사용하여 특별히 소유자를 설정할 수 있습니다.
이 대화 상자가 하나 당신도 할 수있는 다른 측면에서 부모 또는하지
private void Form1_Load(object sender, EventArgs e)
{
//your functionality goes here
AboutBox1 box = new AboutBox1();
box.ShowDialog();
}
}
을 설정 폐쇄 될 때까지 양식 그 자체를 표시하지 않습니다 내 코드는 당신이 더 문제를 설명 할 수 TopMost 속성으로 확인하십시오.
ShowDialog 메서드는 부모/소유자가 될 양식에서 해당 양식에 모달이되도록 호출해야합니다. 또는 직접 대화 상대의 소유자를 설정할 수 있다고 생각하지만 필요가 없습니다.
DaBomb,
당신이 원하는 일을하려면, 당신은하지 Form_Load 이벤트에서, 당신의 기본 폼의 생성자에서 모달 대화 상자를 호출해야합니다. 이 같은
뭔가 :
public Form1()
{
InitializeComponent();
this.Show();
Form2 popupForm = new Form2();
popupForm.ShowDialog();
}
가 제대로 소유자를 설정 했습니까? – OregonGhost
여기에는 여러 가지 이유가있을 수 있습니다. 임의로 추측하는 것 외에는 문제를 진단하는 유일한 방법은 사용중인 코드를 보는 것입니다. –