C 中避免相同MDI子視窗重複開啟的方法

2021-04-21 02:23:30 字數 933 閱讀 7524

方法一:

直接檢測是否已經開啟此mdi窗體

// 是否已經開啟了?(用迴圈來判斷)

foreach (form childrenform in

this.mdichildren)

}//下面是開啟子窗體

form1 childrenform = new form1();

childrenform.mdiparent = this; 

childrenform.show();

childrenform.windowstate = formwindowstate.maximized;

方法二:

將子窗體設成單件:

namespace windowsfile

private

void form3_load(object sender, eventargs e)

private

static form3  childform=null;

public

static form3 form3signleton()

return childform;

}private

void form3_formclosing(object sender, formclosingeventargs e)

catch(exception e)

}方法三:

這個沒用過,也是直接判斷

private

static frm_rk frmchild;//定義子窗體 

private

void 商品入庫toolstripmenuitem_click(object sender, eventargs e)//按鈕事件 

private frm_rk getform()//判斷子窗體狀態,防止重複顯示 

return frmchild; }

MFC中建立沒有子視窗的MDI應用程式

如何建立乙個 沒有子視窗的多文件應用程式 這裡涉及到 ccommandlineinfo 類 下面說說這個類的用處 這個類在 mfc應用程式初始化時候呼叫 可以通過命令引數 來設定 程式初始狀態 cmdinfo.m nshellcommand ccommandlineinfo filenothing ...

在MFC的MDI程式中設定子視窗客戶區大小

用mfc寫乙個基於opencv的mdi程式,每一次讀取影象之後,影象都會顯示在主程式的乙個子視窗中。問題來了 根據讀取的影象大小採用movewindow函式來設定子視窗大小時,顯示的視窗尺寸實際上是包含了 標題欄 邊框 客戶區 整個區域,導致每次顯示讀取的影象時,總會有右邊和下邊的一小部分沒顯示出來...

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

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