Невозможно отобразить форму как форму mdiChild, используя c# - PullRequest
0 голосов
/ 05 апреля 2020

Я создаю C# (VS 2015) Настольное приложение. Теперь у этого приложения есть несколько форм, из которых frmMain имеет IsMdiContainer = true, а все остальные являются дочерними формами. Теперь в одной из дочерних форм 'frmChild1' есть следующий код под событием нажатия кнопки.

if(chkMarksEntrdOrNot(tsDDBSession.ToString(), tsDDBClass.ToString()) == false)
{

}
else
{
   MessageBox.Show("Marks of all the applicants for the chosen Session and Class have not been entered yet. Please enter marks then come again to this menu.",Application.ProductName,MessageBoxButtons.OK);
   this.Close();
   Admission.frmAdmissionTestMarksEntryBrows fATMEB = new frmAdmissionTestMarksEntryBrows();
   //frmMain fMn = new frmMain();
   //fATMEB.MdiParent = fMn;
   fATMEB.Show();
}

Как видно из приведенного выше кода, в другой части я закрываю текущий формы, а затем пытается показать другую дочернюю форму (frmAdmissionTestMarksEntryBrows). Форма показывается, но не как форма mdiChild. Я хочу показать это как форму mdiChild. Я надеюсь, вы понимаете мою проблему. Пожалуйста, помогите.

1 Ответ

1 голос
/ 05 апреля 2020
//frmMain fMn = new frmMain();
//fATMEB.MdiParent = fMn;

Вы не устанавливаете MdiParent формы перед ее отображением.

Вам нужна фактическая ссылка на основную форму frmMain (поскольку из комментариев выше мы понимаем, что frmMain - это желаемый родитель) и не должен пытаться создать новый экземпляр.

Если вы пытаетесь добавить эту новую форму как mdichild к своему собственному родителю, попробуйте:

fATMEB.MdiParent = this.MdiParent;

(перед закрывая себя)

...