В настоящее время я работаю с формами и mdi. В моем проекте есть mainform (mdiContainer), который может иметь x subforms. Я хочу, чтобы каждый раз, подформация закрыта, все остальные подформы, где расположены снова.Изменение LayoutMdi из родительской формы при закрытии дочерней формы
Вы можете сделать это с помощью написания этого в MainForm:
public void resetToolStripMenuItem_Click(object sender, EventArgs e)
{
this.LayoutMdi(System.Windows.Forms.MdiLayout.TileVertical);
}
В подчиненной, я делаю это:
private void subform_FormClosed(object sender, FormClosedEventArgs e)
{
try
{
Form1 mainform = new Form1();
mainform.resetToolStripMenuItem_Click(mainform, EventArgs.Empty);
}
catch
{
System.Windows.Forms.MessageBox.Show("error");
}
}
Это не дает какой-либо ошибки, но и привычка устраивать субформ еще раз. Я также попытался вызвать метод с другими параметрами.
Любая идея, как я могу сделать эту работу?
Вы начинаете новую основную форму каждый раз, когда вы закрываете дочернюю форму. Попробуйте удалить эту строку. Родитель mdi не должен быть повторно инициализирован всякий раз, когда ребенок закрыт. – tinstaafl