在父窗口中查找子窗口是否存在,如果不存在,則顯示,如果存在,則不顯示,函數如下:
#region 尋找子窗口是否已經存在
/// <summary>
/// 尋找子窗口是否已經存在
/// </summary>
/// <param name="frmShow">要顯示的子窗口</param>
/// <param name="frmParent">要顯示窗口的父窗口,通常該窗口爲Mdi型</param>
/// <returns>返回是否找到 false:沒有找到 true:找到了</returns>
#endregion
public static bool IsFormExist( Form frmParent, Form frmShow )
{
//如果不是MDI
if( !frmParent.IsMdiContainer )
{
return true;
}
//如果沒有子窗口
if( frmParent.MdiChildren.Length == 0)
return false;
//如果是焦點
if( frmParent.ActiveMdiChild.GetType().ToString() == frmShow.GetType().ToString() )
return true;
//存在但不是焦點
foreach(Form frm in frmParent.MdiChildren)
{
if(frm.GetType().ToString() == frmShow.GetType().ToString())
{
//獲得焦點
frm.Focus();
return true;
}
}
return false;
}
在winform中,MDI窗體不能打開重複窗體
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.