问题描述
大神们,小弟写WinForm时遇到了一个问题,实在没辙了,跪求解答一下,先谢谢了开门见山,下面代码:主窗体的定义,是单例的publicpartialclassMainForm:Form{privatestaticMainFormmainForm=null;//创建视窗设置的窗口privateMainForm(){InitializeComponent();}//单例模式,返回主窗体的对象publicstaticMainFormgetForm(){if(mainForm==null||mainForm.IsDisposed){mainForm=newMainForm();}returnmainForm;}//这是主窗体中的一个单击事件的回调函数privatevoideagleEye_ItemClick(objectsender,DevExpress.XtraBars.ItemClickEventArgse){EagleEyeFormeagEyeForm=EagleEyeForm.getForm();eagEyeForm.MdiParent=this;eagEyeForm.Show();//问题就在这里了,什么我单击的时候没有显示出子窗体}}下面这个是子窗体的定义,也是单例的publicpartialclassEagleEyeForm:Form{privatestaticEagleEyeFormeagEyeForm=null;privateMainFormMform=MainForm.getForm();//获得主窗口的对象,这里得到主窗体主要是为了下面的逻辑业务,可以不用管privateEagleEyeForm(){InitializeComponent();}publicstaticEagleEyeFormgetForm(){if(eagEyeForm==null||eagEyeForm.IsDisposed){eagEyeForm=newEagleEyeForm();}returneagEyeForm;}
解决方案
解决方案二:
单击主窗体里面的那个事件对应的按钮的时候没有弹出子窗体,为什么呀
解决方案三:
//eagEyeForm.MdiParent=this;
你在主form里设置了那个用来放mdi窗体的控件了吗?如果没得话,将上面这一段注销掉试试
解决方案四:
初次接触C#WinForm编程,小白一枚,求解救啊,没人吗?
解决方案五:
引用2楼娃都会打酱油了的回复:
//eagEyeForm.MdiParent=this;你在主form里设置了那个用来放mdi窗体的控件了吗?如果没得话,将上面这一段注销掉试试
我把主窗体设置成了mdi
解决方案六:
引用4楼qq_27503569的回复:
Quote: 引用2楼娃都会打酱油了的回复:
//eagEyeForm.MdiParent=this;你在主form里设置了那个用来放mdi窗体的控件了吗?如果没得话,将上面这一段注销掉试试
我把主窗体设置成了mdi
子窗体是普通窗体,主窗体是MDI窗体,我的目的是将子窗体包含在主窗体里面,是不是我把主窗体设置成单例的原因
解决方案七:
在点击事件里面打个断点看看是否进入到事件中获取单例是否成功
解决方案八:
子窗体.IsMdiChild=true;
解决方案九:
引用7楼crystal_lz的回复:
子窗体.IsMdiChild=true;
可是IsMDIChild是只读的
解决方案十:
引用6楼u012948520的回复:
在点击事件里面打个断点看看是否进入到事件中获取单例是否成功
谢谢您的答复,这个我试过了,好着呢
解决方案十一:
引用8楼qq_27503569的回复:
Quote: 引用7楼crystal_lz的回复:
子窗体.IsMdiChild=true;可是IsMDIChild是只读的
是吗。。。publicpartialclassForm2:Form{privatestaticForm2m_frm;privateForm2(){InitializeComponent();}publicstaticForm2GetInstance(){if(m_frm==null||m_frm.IsDisposed)m_frm=newForm2();returnm_frm;}}//=====//[this.IsMdiContainer=true]Form2frm=Form2.GetInstance();frm.MdiParent=this;frm.Show();frm.Activate();
一切正常那就是你的问题了自己断点调试吧。。
解决方案十二:
引用10楼crystal_lz的回复:
Quote: 引用8楼qq_27503569的回复:
Quote: 引用7楼crystal_lz的回复:
子窗体.IsMdiChild=true;可是IsMDIChild是只读的
是吗。。。publicpartialclassForm2:Form{privatestaticForm2m_frm;privateForm2(){InitializeComponent();}publicstaticForm2GetInstance(){if(m_frm==null||m_frm.IsDisposed)m_frm=newForm2();returnm_frm;}}//=====//[this.IsMdiContainer=true]Form2frm=Form2.GetInstance();frm.MdiParent=this;frm.Show();frm.Activate();
一切正常那就是你的问题了自己断点调试吧。。
谢谢你