하나의 하위 양식 정의를 사용하여 여러 하위 폼이 부모 폼에서 스폰되는 응용 프로그램이 있습니다 (즉, frmParent는 frmChild의 여러 인스턴스를 생성 함).부모 폼이 닫힐 때 자체 스레드에서 실행중인 자식 폼을 닫는 방법? (비 MDI)
각 자식은 자체 스레드에서 실행됩니다. 각 자식과 독립적으로 상호 작용할 수 있기를 원하며 MDI가 맘에 들지 않습니다.
부모 양식이 닫힌 경우 하위 양식을 닫으라는 지시를 어떻게 내리십니까?
private void btn1_Click(object sender, EventArgs e)
{
Thread thread = new Thread(delegate()
{
using (Child child = new Child())
{
child.MyName = "1";
child.ShowDialog();
}
});
thread.SetApartmentState(ApartmentState.STA);
thread.Start();
}
private void btn2_Click(object sender, EventArgs e)
{
Thread thread = new Thread(delegate()
{
using (Child child = new Child())
{
child.MyName = "2";
child.ShowDialog();
}
});
thread.SetApartmentState(ApartmentState.STA);
thread.Start();
}
모든 UI 구성 요소는 기본 (UI) 스레드 인 하나의 스레드에서만 실행되어야합니다. 그것이 규칙입니다. –
그들이 자신의 스레드에 있는지 확인 하시겠습니까? 일반적으로 UI 스레드는 하나뿐입니다. 어떻게 그걸 보여 주니? –
그렇다면 다중 스레드를 사용하지 않는 경우 MDI를 사용하지 않으려면 어떻게 독립적으로 실행되는 여러 양식을 얻으십니까? –