Form activeChild=this.ActivateMdiChild;           if (activeChild = null)
            {
                activeChild.Close();
            }
            else
            {
                MessageBox.Show("目前没有打开任何MDI窗口!", "注意!");
            }
这种方法好像通不过,改了很多次都不行.请高手指点

解决方案 »

  1.   

    if (activeChild = null)
                {
                    activeChild.Close();
                }
    这是什么玩意儿?
      

  2.   

    if (activeChild != null)
                {
                    activeChild.Close();
                }应该是这样的,判断当前是否有活动窗口.但没有用,书上面的例子,通不过
      

  3.   

    这个方法应该是可以的。
    还有另外一个方法,就是判断每个MDI SUBFORM的NAME。 然后CLOSE。 
      

  4.   

    Form activeChild = this.ActivateMdiChild; //this.ActivateMdiChild有问题            if (activeChild != null)
                {
                    activeChild.Close();
                }
                else
                {
                    MessageBox.Show("目前没有打开任何MDI窗口!", "注意!");
                }
    错误提示:
    无法将方法组“ActivateMdiChild”转换为非委托类型“System.Windows.Forms.Form”。您是要调用方法吗?
      

  5.   

    如果只是要判断有没有打开的MDI窗口的话,可以这么判断
    this.MdiChildren.Length > 0
      

  6.   

    谢谢  kitten_scratch(小猫抓抓)兄弟
    你说的方法可以.在VS2005-C#中测试运行通过.private void 关闭ToolStripMenuItem_Click(object sender, EventArgs e)
            {                     if (this.MdiChildren.Length > 0)
                {                           ActiveMdiChild.Close();
                    
                }
                else
                {
                    MessageBox.Show("没有子窗口!", "注意");
                }
            }