Windows Forms MDI, как удалить все формы, когда имеется всего одна?

Моя программа переделывает изображения в цвета RGB

Я хочу, чтобы при нажатии на элемент "Удалить формы", удалялась и форма ("Исходное изображение"), которая еще не была переделана в цвета RGB. Сейчас же при нажатии на удалить форму, вызывается исключение, так как программа пытается удалить еще не существующие формы, которые не переделаны в RGB.

Код в котором вызывается исключение:

 private void удалитьФормыToolStripMenuItem_Click(object sender, EventArgs e)
    {
       ClearForms();
    }

    private void ClearForms()
    {
        if (izobr == null)
        {
            MessageBox.Show("Вставьте изображение", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
        }
        else
        {
            Form1 okno1 = (Form1)this.ActiveMdiChild;
            okno1.Dispose();
            Form1 okno2 = (Form1)this.ActiveMdiChild;
            okno2.Dispose();
            Form1 okno3 = (Form1)this.ActiveMdiChild;
            okno3.Dispose();
            Form1 okno4 = (Form1)this.ActiveMdiChild;
            okno4.Dispose();
            path = null;
            izobr = null;
        } 
    }

Скрин исключения: введите сюда описание изображения

Я понимаю, что надо сделать где-то конструкцию if..else, но я не понимаю, какая переменная отвечает за то что MDI окно открыто или нет

Сам проект: https://disk.yandex.ru/d/mBOOKhsAavnUeg


Ответы (0 шт):