2012-04-27 91 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())。或許當我解決這個問題時(如果我這樣做),那麼我將編輯這個答案,但現在這是結束。 希望這個作品!