Как позволяет ShowDialog в дочернем MdiContainer? - PullRequest
0 голосов
/ 17 апреля 2019

У меня есть форма, которая this.IsMdiContainer = true. Я показываю в нем детскую форму.

 FrmCustomer frm=new FrmCustomer();
 frm.MdiParent = this;
 frm.Show();

Я хочу показать форму в FrmCustomer. Я использую этот код,

  FrmCustomerDetail frm=new FrmCustomerDetail(null);
  frm.MdiParent = this.MdiParent;
  frm.ShowDialog();

но я получаю ошибку,

Форма, которая не является формой верхнего уровня, не может быть отображена как модальная диалоговое окно. Удалите форму из любой родительской формы перед вызовом ShowDialog.

1 Ответ

1 голос
/ 17 апреля 2019

Один из способов сделать это - оставить наш MdiOwner и установить владельца окна с помощью параметра метода ShowDialog.

   FrmCustomerDetail frm=new FrmCustomerDetail(null);
   frm.ShowDialog(this);
...