用子窗體的name進(jìn)行判斷,如果已經(jīng)存在則將他激活,返回true,如果不存在的話,就實(shí)例一個窗體,返回false
    支持多個應(yīng)用程序域之間窗體類的傳替
    '輸入?yún)?shù):
    1:childfrmname---窗體名稱,
    2:strnamespace---域名空間,
 private bool openchildfrm(string childfrmname)
  {
   foreach(form childfrm in this.mdichildren)
   {
    //用子窗體的name進(jìn)行判斷,如果已經(jīng)存在則將他激活
    if(childfrm.name == childfrmname)
    {
     if(childfrm.windowstate == formwindowstate.minimized)
     childfrm.windowstate = formwindowstate.normal;
     childfrm.activate();
     return true;
    }
   }
      //objecthandle用于在多個應(yīng)用程序域之間傳遞對象(處于已包裝狀態(tài)),createinstance:創(chuàng)建實(shí)例
     string strnamespace ="windowsapplication";
     objecthandle obj =activator.createinstance(null,strnamespace+"."+childfrmname);
     //obj.unwrap返回被包裝的對象
     form frm =(form)obj.unwrap();
     frm.mdiparent = this ;
     frm.show();
        return true;  
  }
    下一步可以實(shí)現(xiàn):
    1:定義一個可重載的事件,用于窗體間的調(diào)用如:參數(shù)傳替等;
    2:在調(diào)用本函數(shù)的時候就可以重載 1中的事件 實(shí)現(xiàn)窗體間的互交; 
新聞熱點(diǎn)
疑難解答
圖片精選