2012-04-27 85 views
-1

在我使用MDI之前,它工作正常,我可以在MainForm中显示我的ListForm。现在我不想使用MDI,它不起作用。显示默认格式

前,用MDI:

public partial class Le_MainForm : DevExpress.XtraEditors.XtraForm 
    { 
     public Le_MainForm() 
     { 
      InitializeComponent(); 
      this.IsMdiContainer = true; 
      this.Name = "MainUSER"; 

      if (Program.IsFA) barButtonItem_OrdList.Visibility = DevExpress.XtraBars.BarItemVisibility.Never; 

      Liste_Ordres f_Liste = new Liste_Ordres(); 
      f_Liste.MdiParent = this; 
      f_Liste.Show(); 
     } 




     private void barButtonItem_ListeOrdres_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) 
     { 
      Close_AllForm(); 
      Liste_Ordres f_Liste = new Liste_Ordres(); 
      f_Liste.MdiParent = this; 
      f_Liste.Show(); 
     } 

     private void barButtonItem_CreatOrdreAller_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) 
     { 
      Close_AllForm(); 
      Program.AllerRetour = "Ordre Aller"; 
      Fiche_Ordre f_Fiche = new Fiche_Ordre(); 
      f_Fiche.MdiParent = this; 
      f_Fiche.Show(); 
     } 

现在,经过我消除了MDI //this.IsMdiContainer = true;

,并从MainForm中继承的形式:

public partial class Liste_Ordres : Le_MainForm 
    { 
    ..... 

我不能显示我的ListeForm在MainFrom

public partial class Le_MainForm : DevExpress.XtraEditors.XtraForm 
    { 
     public Le_MainForm() 
     { 
      InitializeComponent(); 
      //this.IsMdiContainer = true; 
      this.Name = "MainUSER"; 

      if (Program.IsFA) barButtonItem_OrdList.Visibility = DevExpress.XtraBars.BarItemVisibility.Never; 

      Liste_Ordres f_Liste = new Liste_Ordres(); 
      // f_Liste.MdiParent = this; 
      f_Liste.Show(); 
     } 

有人有什么想法吗?

+0

表单没有apear或什么? – Likurg 2012-04-27 13:13:17

+0

它没有出现该程序不是形式 – user609511 2012-04-27 13:15:19

+0

为什么你的其他形式继承自MainForm? – Servy 2012-04-27 13:21:14

回答

0

如果你想让你的MainForm像母版页一样,你可以只使用MainForm并且设计所有其他的不是作为窗体的掩码,而是作为你放在这个MainForm上的控件。

0

好吧,我想我想出了一种方法来打开初始化的继承形式。所有的 首先,在我的MainForm我创造的任何职能之外的整数

private int a = 1; 

然后我MainForm中我创建了一个受保护的虚拟ON_LOAD事件:

protected virtual void Le_MainForm_Load(object sender, EventArgs e) 
{ 
    if (a == 1) 
    { 
     Liste_Ordres frm = new Liste_Ordres(); 
     frm.Show(); 
     a = 0; 
    } 
} 

下一页我继承的形式,我overrided的ON_LOAD事件:

protected override void Form1_Load(object sender, EventArgs e) 
{ 

} 

,至少有两种形式开放,而无需使用MDI(尽管在相当周围的方式),但现在另一个问题仍然是: 当两个表单都打开时,MainForm会在继承之前打开(不管您是否尝试使用函数BringToFront()和SendToBack())。或许当我解决这个问题时(如果我这样做),那么我将编辑这个答案,但现在这是结束。 希望这个作品!