mdi多文档界面C#程序触发问题
菜单项按钮弹出子窗口后按钮enabled=false,子窗口关闭后按钮enabled=true;父窗口和子窗口各为不同的两个窗口类。弹出子窗口写法是: 
 frmB   chidfrmB=new   frmB(); 
 chidfrmB.MdiParent=this; 
 chidfrmB.show(); 
 问题是如何获得子窗口关闭后的状态让菜单按钮重新有效?   
 ----------------------------------------------------- 
 思路1:(主窗口判断子窗口全关闭) 
 if(this.MdiChildren         ==null)      判断这个数组是否为空就可以了 
 或者this.MdiChildren.Count==0也可以   
 有问题:如何触发这个事件呢??   
 ----------------------------------------------------- 
 思路2:(子窗口关闭时触发) 
 //放到初始化中 
 this.Closing   +=   new   CancelEventHandler(this.whoisresult_Cancel);   
 //放到事件中 
                         protected   void   newForm_Closing(object   sender,   CancelEventArgs   e) 
                         { 
                                     MessageBox.Show( "关闭 "); 
                         }   
 有问题:测试过可以show出“关闭”,但是如何传递给主窗口去触发事件去改变按钮enabled值呢? 
 ----------------------------------------------------
------解决方案--------------------不要放到初始化中this.Closing += new CancelEventHandler(this.whoisresult_Cancel); 
 在主窗体中new的时候 
 frmB chidfrmB=new frmB(); 
 chidfrmB.MdiParent=this; 
 chidfrmB.Closing += new CancelEventHandler(this.whoisresult_Cancel); 
 chidfrmB.show(); 
 ,chidfrmB关闭的时候就会出发主窗口中的whoisresult_Cancel
------解决方案--------------------使用ufoteam(帅哥!问题解决了就应该结贴!不结贴后果是信誉降低!) ( )的方法 
 在whoisresult_Cancel判断关闭窗口的Name属性,改变主窗体的按钮。   
 private void whoisresult_Cancel(object sender , CancelEventArgs e) 
 { 
    Form closedChildForm = sender as Form;     
    switch(closedChildForm.Name) 
   { 
      case  "XXX1 " : //按钮处理1 
               return; 
      case  "XXX2 "://按钮处理12 
               return; 
        .....        
    } 
 }