在我使用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
{
.....
我无法在MainFrom中显示我的ListeForm
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 :(得分:0)
如果您希望MainForm类似于母版页,则只能使用MainForm并将所有其他蒙版设计为不作为表单,而是设置为您在MainForm上放置的控件。
答案 1 :(得分:0)
好吧,我想我想办法在Initialization上打开一个继承表单。 首先,在我的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;
}
}
接下来在我的继承表单中,我重写了on_Load事件:
protected override void Form1_Load(object sender, EventArgs e)
{
}
至少在没有使用Mdi的情况下打开了两种形式(虽然是以相当全面的方式),但现在又出现了另一个问题: 当两个表单都打开时,MainForm会在继承之前打开(无论您是否尝试使用函数BringToFront()和SendToBack())。
也许当我想出那个问题时(如果我这样做),那么我将编辑这个答案,但是现在这就结束了。 希望这有效!