1. 程式人生 > >如何實現MDI窗體不重復打開同一個子窗體?

如何實現MDI窗體不重復打開同一個子窗體?

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 in
this.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窗體不重復打開同一個子窗體?