日期:2014-05-19  浏览次数:20835 次

为什么获取不到子窗体的数量啊?
Private   bool   GetInstanceState(string   name)
{
    for(int   i=0;i <=this.MdiChildren.Length;i++)//循环子窗体数量
      {
          if(MdiChildren[i].Name==name)---//索引超出了数组界限!!
            {
                MdiChildren[i].Focus();
                return   true;
              }
        }
        return   false;
    }  

索引超出了数组界限,i的值还是0,如果改为1,就能打开1个子窗体...改2就打开2个....
为什么啊?

-----子窗体  
              private   void   mnClass_Click(object   sender,   EventArgs   e)
                {
                        if   (GetInstanceState( "frmClass "))
                                return;
                        frmClass   childFrm   =   new   frmClass();
                        childFrm.MdiParent   =   this;
                        childFrm.Show();
                }

------解决方案--------------------
i <this.MdiChildren.Length