显示默认窗体
本文关键字:窗体 默认 显示 | 更新日期: 2023-09-27 18:32:30
在我使用 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();
}
有人知道吗?
如果希望 MainForm 类似于母版页,则可以仅使用 MainForm,并将所有其他蒙版设计为控件,而不是窗体。
好的,我想我想到了一种方法来打开初始化的继承表单。首先,在我的 MainForm 中,我在任何函数之外创建了一个整数:
private int a = 1;
然后,对于我的主窗体,我创建了一个受保护的虚拟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())。
也许当我弄清楚这个问题时(如果我这样做了),那么我会编辑这个答案,但现在这是结束。希望这有效!