从子表单设置MdiParent

use*_*511 2 c# mdiparent winforms

我有一个主要表单,其中包含一个打开子表单的菜单:

public Le_MainForm()
{ 
  InitializeComponent();
  this.IsMdiContainer = true;
  .....
}

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

效果很好,但是我从孩子那里打开另一个表格,我失去了MdiParent:

public Liste_Ordres()
{
  InitializeComponent();
  ....
}

private void Liste_DobleClic(object sender, EventArgs e)
{
  Fiche_Ordre f_Fiche = new Fiche_Ordre(gridView_Liste_Ordres.GetFocusedRowCellValue("NO_ORDRE").ToString());
  f_Fiche.ShowDialog();
}
Run Code Online (Sandbox Code Playgroud)

Lar*_*ech 5

尝试像这样设置表单:

Fiche_Ordre f_Fiche = new Fiche_Ordre(gridView_Liste_Ordres.GetFocusedRowCellValue("NO_ORDRE").ToString());
f_Fiche.MdiParent = this.MdiParent;
f_Fiche.Show();
Run Code Online (Sandbox Code Playgroud)

ShowDialog() 用于弹出模式形式.