Задать вопрос
spark108
@spark108

Как в C# запустить другую форму и закрыть предыдущую?

Суть вопроса: Как правильно открыть вторую форму и закрыть первую?

Пробовал запускать вторую форму и закрывать первую, так:
form.Show();
this.Close();

но при этом после открытия второй формы приложение завершает работу. Если же сделать так:
form.Show();
this.Hide();

то первая форма как бы прячется, но если закрыть вторую форму, то программа продолжает работать так как первая форма не закрыта, а мне нужно завершить программу по закрытию второй формы.
  • Вопрос задан
  • 16612 просмотров
Подписаться 1 Оценить Комментировать
Решения вопроса 2
Rou1997
@Rou1997
но если закрыть вторую форму, то программа продолжает работать так как первая форма не закрыта

У второй формы есть событие, кажется, Closed или FormClosed, в этом событии можно закрывать первую форму уже через Close, и приложение завершит работу.
Ответ написан
spark108
@spark108 Автор вопроса
Добавил в 2 форме:
public void global_FormClosed(object sender, EventArgs e)
        {
            Application.Exit();
        }

В Desinger этой же формы:
this.FormClosed += new System.Windows.Forms.FormClosedEventHandler(this.global_FormClosed);


При нажатие на крестик 2 формы закрывается вся программа. Так как мне надо было.

Спасибо Rou1997
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Можете первую форму передать как параметр при открытии второй, при закрытии же этой второй закрывать и первую.
Либо можно сделать основной форму вторую, которая будет hidden и при запуске автоматически открывать форму первую.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы