91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

c#判斷打開的窗體:MDI和非MDI

發布時間:2020-06-11 02:51:52 來源:網絡 閱讀:816 作者:huohe2009 欄目:編程語言

1,MDI類型

在打開事件中直接檢測是否已經打開此MDI窗體
// 是否已經打開了?(用循環來判斷)
foreach (Form childrenForm in this.MdiChildren)
{
//檢測是不是當前子窗體名稱
if (childrenForm.Name == "子窗體名稱")
{
//是的話就是把他顯示
childrenForm.Visible = true;
//并激活該窗體
childrenForm.Activate();
return;
}
}
//下面是打開子窗體
Form1 childrenForm = new Form1();
childrenForm.MdiParent = this;
childrenForm.Show();
childrenForm.WindowState = FormWindowState.Maximized;

-------------------------------------------------------
這樣也行:
frmPurvey frmp = new frmPurvey();//創建要打開的窗體對象
bool isOpen = true;
foreach (Form frm in this.MdiChildren)//遍歷已打開的MDI
{
if (frm.Name == frmp.Name)
{
frmp.Activate();//賦予焦點
frmp.WindowState = FormWindowState.Maximized;//設置窗體最大化
isOpen = false;
break;
}
}
if (isOpen)//如果沒有找到相同窗體則打開新窗體
{
frmp.MdiParent = this;//設置父窗體
frmp.Show();
}

 

2,非MDI

利用.net Framework 2.0新加的Application.OpenForms集合解決:
bool isOpen = false; //初始為未打開狀態
Form2 frm2= new Form2();
foreach (Form frm in Application.OpenForms) //遍歷已打開窗口
{
if (frm.name == frm2.name)
{
//如果此窗口已打開
isOpen = true;
break;
}
}

if (!isOpen) //如果窗體未打開,顯示窗體
{
frm2.Show();
}
開心了一會兒,又發現:當打開其它窗體后,再想使用這個Form2時,按按鈕無法激活它了,郁悶。
加上
else
{
frm2.Activate();
}
沒用,還是無法激活,又在網上找了好久,還是沒找到合用的。沒法了,不能偷懶了。
分析一下發現,我在 foreach 之前創建了窗體對象:Form2 frm2= new Form2(); 然后下面代碼再進行判斷。那不就成了每次Activate()時都是對一個新建的對象進行激活嗎,這樣肯定與原來已經打開的窗體無關啊,原因應該在這兒。

修改代碼為:
bool isOpen = false; //初始為未打開狀態
foreach (Form frm in Application.OpenForms) //遍歷已打開窗口
{
if (frm is Form2)
{
//如果此窗口已打開,則激活
frm.Activate();
isOpen = true;
break;
}
}
if (!isOpen) //如果窗體未打開,創建窗體對象并顯示
{
Form2 frm2= new Form2();
frm2.Show();
}

OK,成功!!!
 

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

洪洞县| 宜兰市| 轮台县| 湖北省| 读书| 萨嘎县| 阿拉善左旗| 广灵县| 青川县| 长岛县| 清河县| 仁布县| 江阴市| 太白县| 新化县| 阜新| 芜湖市| 井研县| 山西省| 德化县| 安龙县| 旺苍县| 潼南县| 兰坪| 延长县| 庆城县| 精河县| 陆河县| 扶沟县| 双流县| 慈溪市| 抚松县| 阿拉善右旗| 富平县| 宜丰县| 武川县| 兴义市| 台前县| 霸州市| 古蔺县| 类乌齐县|