Как закрыть все загруженные формы с помощью кнопки - PullRequest
0 голосов
/ 04 апреля 2020

Допустим, у меня есть 4 открытые формы. Я хочу закрыть все формы, кроме первой, когда я нажимаю кнопку в Form4. Посмотрите мой пример кода:

//Form1
private void button1_Click(object sender, EventArgs e)
{
    using (Form2 frm = new Form2())
    {
        frm.ShowDialog();
    }   
}
//Form2
private void button1_Click(object sender, EventArgs e)
{
    using (Form3 frm = new Form3())
    {
        frm.ShowDialog();
    }
}
//Form3
private void button1_Click(object sender, EventArgs e)
{
    using (Form4 frm = new Form4())
    {
        frm.ShowDialog();
    }
}
//Form4
private void button1_Click(object sender, EventArgs e)
{
    //So basically all forms are shown. What I want is when I press this button
    //all forms will close including this one except the first form.
}

Я думаю о том, чтобы использовать событие FormClosing (). Это идеально или есть другой способ сделать это?

1 Ответ

0 голосов
/ 04 апреля 2020

Вы можете использовать этот блок кода

for (int i= App.Current.Windows.Count - 1; i>= 0; i--)
   App.Current.Windows[i].Close();

Он работает на моем компьютере

App.Current. windows, чтобы получить все windows, и тогда каждое окно может быть закрыто

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...