定义父窗体A  定义窗体A按牛B     定义窗体C
当点击按牛B时谈出  窗体C
部分代码如下:
Form2 c = new Form2();  //点击按牛时 生成窗体C的对象
c.MdiParent = this;     //定义C的父窗体为当前窗体(也就是A)
c.ShowDialog();         //模式窗体运行报错~!Form2 c = new Form2();  //点击按牛时 生成窗体C的对象
c.MdiParent = this;     //定义C的父窗体为当前窗体(也就是A)
c.Show();         //无模式窗体运行正常~!那是不是 说明 只有无模式窗体才能定义父窗体? 模式窗体就不能定义父窗体了?

解决方案 »

  1.   

    这我知道啊 我设置了父窗体的MDI属性了 A窗体我把他设置成父窗体了啊
    只不过当子窗体是 ShowDialog()时就出错 如果是Show()就可以运行`!
      

  2.   

    2楼的兄弟 如果不设置父窗体的MDI属性 我的第二段代码可能正常运行么?
      

  3.   

    http://blog.csdn.net/zwb1101/archive/2008/05/01/2357446.aspx
      

  4.   

    应该是这样得,ShowDialog 方法有一个可选参数 owner,该参数可用于指定窗体的父子关系,说明使用模式窗体时应当定义其父窗体,使模式弹出得窗体有一个可以依附得窗体,而show方法则没有该参数,也就是无模式得时候,弹出得窗体没有一个依附得窗体,各个窗体之间没有父子关系。
      

  5.   

    c.ShowDialog;