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

2021-09-12 08:28:37 字數 548 閱讀 7503

mdi父窗體預設是可以重複開啟i子窗體的,而我們可以通過如下方法禁止重複開啟子窗窗體

開啟子窗體的函式:

private void openchildform(form formchild)//formchild只是是例項化的但既沒有設定為父窗體的子窗體也沒有顯示

}if (!isopened)//如果沒開啟

}該函式的使用:

①form2 form2=new form2();

②form2.name="form2";或者換成  form2.name = form.gettype().fullname;//根據物件自動得到命名空間.類名

//一定要類名相同,因為name是判斷是否是同一窗體的識別符號;注:如果不給name賦值會是""

③openchildform(form2);//每次想開啟新視窗時都如此處理即可

ps:為了更方便使用,可以把第②個語句中的 form2.name = form.gettype().fullname;放在openchildform();函式的第一句

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

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

winform中實現不重複建立窗體

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

c 開發中mdi子窗體如何呼叫父窗體中控制項

在子視窗中宣告父視窗物件即可進行呼叫例如,父視窗為mdiparent1 子視窗為mdi 只需在mdi 中,需要呼叫父視窗的地方宣告該物件即可,方法如下 public partial class mdi form private void mdi activated object sender,eve...