如何實現MDI窗體不重複開啟同乙個子窗體?

2022-07-04 21:15:10 字數 561 閱讀 4653

使用mdi窗體時,預設是可以多次開啟同乙個子窗體的,那麼如何控制不重複開啟同乙個子窗體呢?mdi窗體有個重要屬性——mdichildren,該屬性表示mdi窗體開啟的子窗體的陣列,迴圈遍歷該陣列,可以通過判斷被開啟子窗體的名稱來禁止子窗體被重複開啟。

例如,下面的**實現在mdi框架窗體中不重複開啟同乙個子窗體:

01     formchild formchild = new formchild();//

例項化formchild子窗體

02bool isopened = false;//

定義子窗體開啟標記,預設值為false

03foreach (form form in

this.mdichildren)//

迴圈mdi中的所有子窗體

0414}15

if (!isopened)//

若該子窗體未開啟,則顯示該子窗體

C 如何實現MDI窗體不重複開啟同一子窗體

mdi父窗體預設是可以重複開啟i子窗體的,而我們可以通過如下方法禁止重複開啟子窗窗體 開啟子窗體的函式 private void openchildform form formchild formchild只是是例項化的但既沒有設定為父窗體的子窗體也沒有顯示 if isopened 如果沒開啟 該函...

winform中實現不重複建立窗體

晚上有問了個問題,通過button的click事件,例項化乙個窗體,並show 當我多次點選button時,會產生多個窗體。請問怎麼解決這個問題?不想通過設定button的enable false來解決這個問題。其實這也算是乙個比較實際的問題,有回答說可以使用模式窗體,呵呵,稍微想了下確實是可以解決...

如何避免重複開啟已存在的窗體

通過按鈕事件定義了乙個開視窗的操作,每次點選按鈕就會彈出新視窗,但是多次點選會出現多個相同的視窗,這樣的對於之後的處理不方便,也不利於使用者的使用體驗,所以就需要在點選按鈕時判斷窗體是否已經存在,存在則啟用,不存在則新建 在按鈕點選事件中定義如下 boolean flag false 判斷標誌 fo...