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();


결과 :

사용자 삽입 이미지




Posted by 훈이아제
,