Одним нажатием открыть одну форму и закрыть другую - C#
Формулировка задачи:
Всем привет.
Бью себя ушами по щекам, но извините, не нашёл этой темы на форуме.
В общем, я жутко туплю, но не могу понять, как сделать правильно. Суть:
есть форма, на ней есть кнопка. При нажатии на кнопку, хочу чтобы форма, на которой кнопка находится, закрылась (именно закрылась, а не свернулась), а вторая, заранее приготовленная форма, появилась (типа, вход по логину-паролю(первое окно) в систему(второе окно)).
Пробовал так:
С нетерпением жду помощи.
Заранее спасибо.
// В этом случае открывается вторая форма, но почти мгновенно
//обе закрываются и приложение заканчивает работу.
private void button1_Click(object sender, EventArgs e)
{
Form2 f2 = new Form2();
f2.Show();
this.Close();
}
// Такая конструкция тоже не помогла.
// Вторая форма-то открывается, да вот первая не закрывается.
private void button5_Click(object sender, EventArgs e)
{
Form1 f1 = new Form1();
Form2 f2 = new Form2();
f1.Close();
f2.Show();
}
// Вот такая штука открывает вторую форму на долю секунды
// и тут же её закрывает. Причём, с первой не происходит никаких изменений.
private void button5_Click(object sender, EventArgs e)
{
Form2 f2 = new Form2();
f2.Show();
Form1.ActiveForm.Close();
}
// Вот эта штука конечно же работает. Вторая форма появляется, а первая уходит с глаз.
// Но во-первых, мне нужно чтобы первая именно закрывалась!
// А во-вторых, если я меняю Hide() на Close(), то на долю секунды открывается вторая форма и
// мгновенно исчезают обе.
private void button5_Click(object sender, EventArgs e)
{
Form2 f2 = new Form2();
Form1.ActiveForm.Hide();
f2.Show();
}Решение задачи: «Одним нажатием открыть одну форму и закрыть другую»
textual
Листинг программы
...
Application.Run(new Form_login());
if(Form_login.status == "run")
{
Application.Run(new Form_main());
}