http://msdn.microsoft.com/en-us/library/system.windows.forms.form.mdiparent.aspx
看下MSDN你父窗口是否设置IsMdiContainer 属性??

解决方案 »

  1.   

    ShopManage.FrmEditPwd frm = new ZTClient.ShopManage.FrmEditPwd(); 
      

  2.   

    分配给此属性的 Form 没有被标记为 MDI 容器。- 或 - 分配给此属性的 Form 同时作为子 MDI 窗体和 MDI 容器窗体。- 或 - 分配给此属性的 Form 位于其他线程上。 
      

  3.   

    那我就不知了
    你看看MSDN的说明
    主要看看Exception和Note
      

  4.   

    for (int i = 0; i < this.MdiChildren.Length; i++) 
                { 
                    if (form[i].Name == "FrmReceiveMoney" ) 
                    { 
                        form[i].Hide(); 
                    } 
                    else form[i].Dispose(); 
                } 
    你的代码没有问题。只是这一句form[i].Dispose(); 你把这句先屏蔽了在试试,看还报不报错误,如果没有Exception,那就找到问题了。其实我 不明白你在此处为什么要Dispose();又是new,又是Hide,又是Dispose的,一段代码中所有有关窗体的最重要的全出现了,难保回去一些连带错误,你在好好查查吧
      

  5.   

    DISPOSE是来释放资源.其实我的意图是这样的:有些窗体加载一次很慢...因为数据量大.所以这些窗体加载一次就够了..关闭只是隐藏,下次在SHOW出来就可以的..而有些窗体是需要DISPOSE掉的..因为没有必要在内存中保留他们.
    期待有好的答案...
      

  6.   

    建议看一下这里的关于窗体操作的说明,
    http://blog.csdn.net/zhzuo/archive/2006/05/05/708941.aspx
      

  7.   

    你设置父窗体属性 IsMdicContainer 为 True
      

  8.   

    ShopManage.FrmEditPwd frm = new ZTClient.ShopManage.FrmEditPwd(); 
                    frm.MdiParent = this;    --错误出在这里 错误内容:创建窗口句柄时出错。 
                    frm.Show(); 
    在此,this指向frm;
    你可以试验一下:
    ShopManage.FrmEditPwd frm = new ZTClient.ShopManage.FrmEditPwd(); 
                    //frm.MdiParent = this; 
                    this.close();窗体根本没有出现;
    frm.MdiParent = this;//窗体的父属性好像不能这样写,直接指向自己。