Закрыть старую дочернюю MDI форму при открытии новой
Я хочу чтобы в моей программе одновременно могла быть открытой только одна дочерняя форма MDI. Т.е. при открытии новой формы старая закрывалась, но я не нашёл как это можно реализовать. Написал следующий код в событии активации дочерней формы, но не знаю как удалить именно старую форму. Может кто-нибудь подсказать?
private void Main_MdiChildActivate(object sender, EventArgs e)
{
foreach (Form f in Application.OpenForms)
{
if (f.IsMdiChild == true)
{
}
}
}
Открываю формы следующим образом по нажатию на кнопку:
Products form = new Products();
form.MdiParent = this;
form.StartPosition = FormStartPosition.CenterScreen;
form.Show();
Ответы (1 шт):
Автор решения: Дмитрий
→ Ссылка
Нашёл решение проблемы, вдруг кому понадобится. Нужно добавить следующий код перед созданием каждой дочерней формы
if (ActiveMdiChild != null)
ActiveMdiChild.Close();