MDI 를 사용중에 창이 여러개 생기지 않게 할 필요가 있다.
그래서 찾던중 발견했다 방법을...
현재 MDI에 어떤창이 띄어져 있는지 확인하고 그창을 죽이는 부분이다.
여기서는 MDI에 다른창이 떠있으면 무조건 창을 닫고 새로이 창을 열수 있게 하도록 하였다.
현상 :
소스 :
// foreach A in B 구문은 B의 배열값을 A에 Data에 넘져줄때 Data가 있으면 조건을 타는 문장이다.
// MDI의 모든 창을 닫는다.
foreach (System.Windows.Forms.Form TheForm in this.MdiChildren)
{
TheForm.Dispose();
}
// MDI 화면 띄우기
m_CF1 = new ClassLibrary1.Form1();
m_CF1.MdiParent = this;
m_CF1.WindowState = FormWindowState.Normal;
m_CF1.AutoScroll = true;
m_CF1.StartPosition = FormStartPosition.Manual;
m_CF1.Show();
결과 :