Одним нажатием открыть одну форму и закрыть другую - C#

Узнай цену своей работы

Формулировка задачи:

Всем привет. Бью себя ушами по щекам, но извините, не нашёл этой темы на форуме. В общем, я жутко туплю, но не могу понять, как сделать правильно. Суть: есть форма, на ней есть кнопка. При нажатии на кнопку, хочу чтобы форма, на которой кнопка находится, закрылась (именно закрылась, а не свернулась), а вторая, заранее приготовленная форма, появилась (типа, вход по логину-паролю(первое окно) в систему(второе окно)). Пробовал так:
Листинг программы
  1. // В этом случае открывается вторая форма, но почти мгновенно
  2. //обе закрываются и приложение заканчивает работу.
  3. private void button1_Click(object sender, EventArgs e)
  4. {
  5. Form2 f2 = new Form2();
  6. f2.Show();
  7. this.Close();
  8. }
  9. // Такая конструкция тоже не помогла.
  10. // Вторая форма-то открывается, да вот первая не закрывается.
  11. private void button5_Click(object sender, EventArgs e)
  12. {
  13. Form1 f1 = new Form1();
  14. Form2 f2 = new Form2();
  15. f1.Close();
  16. f2.Show();
  17. }
  18. // Вот такая штука открывает вторую форму на долю секунды
  19. // и тут же её закрывает. Причём, с первой не происходит никаких изменений.
  20. private void button5_Click(object sender, EventArgs e)
  21. {
  22. Form2 f2 = new Form2();
  23. f2.Show();
  24. Form1.ActiveForm.Close();
  25. }
  26. // Вот эта штука конечно же работает. Вторая форма появляется, а первая уходит с глаз.
  27. // Но во-первых, мне нужно чтобы первая именно закрывалась!
  28. // А во-вторых, если я меняю Hide() на Close(), то на долю секунды открывается вторая форма и
  29. // мгновенно исчезают обе.
  30. private void button5_Click(object sender, EventArgs e)
  31. {
  32. Form2 f2 = new Form2();
  33. Form1.ActiveForm.Hide();
  34. f2.Show();
  35. }
С нетерпением жду помощи. Заранее спасибо.

Решение задачи: «Одним нажатием открыть одну форму и закрыть другую»

textual
Листинг программы
  1. ...
  2. Application.Run(new Form_login());
  3. if(Form_login.status == "run")
  4. {
  5.     Application.Run(new Form_main());
  6. }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 3.9 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы