如何實現MDI窗體不重復打開同一個子窗體?
阿新 • • 發佈:2017-11-28
rms 不重復 png bool 通過 family nor .sh for
使用MDI窗體時,默認是可以多次打開同一個子窗體的,那麽如何控制不重復打開同一個子窗體呢?MDI窗體有個重要屬性——MdiChildren,該屬性表示MDI窗體打開的子窗體的數組,循環遍歷該數組,可以通過判斷被打開子窗體的名稱來禁止子窗體被重復打開。
例如,下面的代碼實現在MDI框架窗體中不重復打開同一個子窗體:
01 FormChild formChild = new FormChild();//實例化FormChild子窗體 02 bool isOpened = false;//定義子窗體打開標記,默認值為false 03 foreach (Form form inthis.MdiChildren)//循環MDI中的所有子窗體 04 { 05 if (formChild.Name == form.Name)//若該子窗體已被打開 06 { 07 formChild.Activate();//激活該窗體 08 formChild.StartPosition = FormStartPosition.CenterParent; 09 formChild.WindowState = FormWindowState.Normal; 10 isOpened = true;//設置子窗體的打開標記為true 11 formChild.Dispose();//銷毀formChild實例 12 break; 13 } 14 } 15 if (!isOpened)//若該子窗體未打開,則顯示該子窗體 16 { 17 formChild.MdiParent = this; 18 formChild.Show(); 19 }
本文來自明日科技出版的《零基礎學C#》,轉載請註明出處!!!
如何實現MDI窗體不重復打開同一個子窗體?