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();
        }