Form1将不会关闭。 (C#)

时间:2019-03-02 21:40:41

标签: c#

我正在练习一些C#,因此决定制作一个非常简单的登录屏幕。我希望成功输入密码后关闭登录屏幕,但似乎无法这样做。

        private void button1_Click(object sender, EventArgs e)
    {
        if (textBox1.Text == "pwhere")

        {

            Form2 form2 = new Form2();
            Form1 form1 = new Form1();

            {

                form2.ShowDialog();
                form1.Close();
            }

        }

    }

谢谢! :) 如果这样做会引起任何麻烦,则此按钮位于Form1中。

解决了。

        private void button1_Click(object sender, EventArgs e)
    {
        if (textBox1.Text == "rbxgod")

        {

            Form2 form2 = new Form2();
            form2.Show();
            Hide();
        }

    }

1 个答案:

答案 0 :(得分:0)

此按钮在Form1中会引起麻烦。

假设Form1是您的启动表单,您可以将其隐藏,然后使用Form2调用ShowDialog(),最后关闭原始Form,以允许应用程序正常退出:

this.Hide();
Form2 f2 = new Form2();  
f2.ShowDialog();
this.Close();

或者,您可以连接Form2的FormClosed()事件并从此处关闭当前表单。这将允许您使用Show()而不是ShowDialog():

this.Hide();
Form2 f2 = new Form2();
f2.FormClosed += (s2, e2) => { this.Close(); };
f2.Show();