在C#怎么样设置,打开MDIChilden
一个主窗体为MIDContainer,主窗体上有一个按钮,点击这个按钮出来一个“管理模块”的窗体,在生成这个模块的事件写:(代码写在主窗体上) 
    	scgl.frm_scgl_base   scglbase   =   new   scgl.frm_scgl_base(); 
 	scglbase.MdiParent   =   this; 
 	scglbase.Top   =   0; 
 	scglbase.Left   =   0; 
 	scglbase.Show(); 
 	scglbase.BringToFront(); 
 有一个模块 "型号录入 "是继承“管理模块”出来的,点击“管理模块”上的“型号录入”按钮就出来“型号录入”界面。所以我是这样写的:(代码在管理模块上写) 
                            frm_main   mainF   =   new   frm_main();      //frm_main是主窗体 
 	scgl.frm_scgl_xhlr   scglxhlr   =   new   scgl.frm_scgl_xhlr(); 
 	scglxhlr.MdiParent   =   mainF;      //这里出问题 
 	scglxhlr.Show(); 
 	scglxhlr.BringToFront(); 
 发现问题:我加了   scglxhlr.MdiParent   =   mainF;   无论怎么点击“型号录入”按钮都不出来,但是如果没有   scglxhlr.MdiParent   =   mainF;出来的窗体有不在主窗体里面。请大虾帮忙。。(也就是MDI窗体的问题了。)谢谢。。。 
------解决方案-------------------- "型号录入“应为:        
 scgl.frm_scgl_xhlr scglxhlr = new scgl.frm_scgl_xhlr(); 
 scglxhlr.MdiParent = this.MdiParent; 
 scglxhlr.Show(); 
 scglxhlr.BringToFront(); 
 ;
------解决方案--------------------frm_main mainF = new frm_main();   
 scglxhlr.MdiParent = mainF;  //这里出问题 
 --------------------------   
 你这里设置MdiParent是一个新的frm_Main()实例,而不是程序里的主窗口了.当然会异常.     
 你应该把程序里启动的那个主窗体(为MdiParent的窗体)传到这个代码段里而不是新New出来一个.   
 一般来说,你应该这样的:   
 在frm_main窗体的代码中: 
 --------------frm_main.cs中-------------   
 scgl.frm_scgl_xhlr scglxhlr = new scgl.frm_scgl_xhlr(); 
 scglxhlr.MdiParent = this; //这里的this就是主窗口frm_Main的当前实例的引用. 
 scglxhlr.Show(); 
 scglxhlr.BringToFront();//这句没有必要,可以不要. 
------解决方案--------------------你如果代码是在子窗体中写的,那么可以通过这个子窗体得到主窗体,代码就要改成这样了:   
 scglxhlr.MdiParent = this.MdiParent;   
 你上面说的不可以应该是不对的.我测试过没有问题! 
------解决方案--------------------你用的是VS2003?   
 Show方法在VS2005中有一个重载.不过你可以使用如下的方式代替: 
 scgl.frm_scgl_xhlr scglxhlr = new scgl.frm_scgl_xhlr(); 
 this.MdiParent.AddOwnerForm(scglxhlr); 
 scglxhlr.Show();   
 如果是子窗体,又要在所有的子窗体最上面,这一点可能做不到. 
 要么是子窗本,被主窗体包含,要么是上层窗体.