C# 是否通过单击关闭两个表单?

C# 是否通过单击关闭两个表单?,c#,forms,C#,Forms,我正在进行具有登录功能的项目 当我运行项目时,有一个表单form1运行登录。 在我点击登录按钮后,构建另一个表单form2——这是我程序的表单。 把第一张表格藏起来 问题是,当我按下form2中的X按钮时,它已关闭,但form1仍在运行 我试图关闭form1而不是隐藏。。。但这将在启动前关闭form2 在表格1中: 我想你把表格弄错了 Form1应该是你的应用程序,当它第一次加载时,应该将Form2显示为一个对话框,然后当它关闭时,你可以处理结果并决定是继续还是关闭应用程序 比如: public

我正在进行具有登录功能的项目

当我运行项目时,有一个表单form1运行登录。 在我点击登录按钮后,构建另一个表单form2——这是我程序的表单。 把第一张表格藏起来

问题是,当我按下form2中的X按钮时,它已关闭,但form1仍在运行

我试图关闭form1而不是隐藏。。。但这将在启动前关闭form2

在表格1中:


我想你把表格弄错了

Form1应该是你的应用程序,当它第一次加载时,应该将Form2显示为一个对话框,然后当它关闭时,你可以处理结果并决定是继续还是关闭应用程序

比如:

public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
        Load += new EventHandler(Form1_Load);
    }

    void Form1_Load(object sender, EventArgs e)
    {
        Form2 myDialog = new Form2();
        if (myDialog.ShowDialog() == System.Windows.Forms.DialogResult.Cancel)
        {
            // failed login
            // exit application
        }
        // all good, continue
    }
}

我想你把表格弄错了

Form1应该是你的应用程序,当它第一次加载时,应该将Form2显示为一个对话框,然后当它关闭时,你可以处理结果并决定是继续还是关闭应用程序

比如:

public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
        Load += new EventHandler(Form1_Load);
    }

    void Form1_Load(object sender, EventArgs e)
    {
        Form2 myDialog = new Form2();
        if (myDialog.ShowDialog() == System.Windows.Forms.DialogResult.Cancel)
        {
            // failed login
            // exit application
        }
        // all good, continue
    }
}

如果允许访问,请在“登录”按钮中尝试此操作

private void logInBtn_Click(object sender, EventArgs e)
        {
            Form2 frm = new Form2();
            frm.ShowDialog();
            this.Hide();
        }
然后在form2中,如果要退出

private void exitBtn_Click(object sender, EventArgs e)
        {
            Application.Exit();
        }

希望这能有所帮助。

如果允许访问,请尝试登录按钮

private void logInBtn_Click(object sender, EventArgs e)
        {
            Form2 frm = new Form2();
            frm.ShowDialog();
            this.Hide();
        }
然后在form2中,如果要退出

private void exitBtn_Click(object sender, EventArgs e)
        {
            Application.Exit();
        }

希望这有帮助。

您可以订阅子表单FormClose事件,并使用该事件调用父表单上的Close

x.FormClosed += new FormClosedEventHandler(x_FormClosed);

void x_FormClosed(object sender, FormClosedEventArgs e)
{
    this.Close();
}

您可以订阅子窗体FormClose事件,并使用该事件调用父窗体上的Close

x.FormClosed += new FormClosedEventHandler(x_FormClosed);

void x_FormClosed(object sender, FormClosedEventArgs e)
{
    this.Close();
}

你去你的表格2,然后在表格的情况下寻找FormClosed

将此代码放入eventhandler:

private void Form2_FormClosed(object sender, FormClosedEventArgs e)
    {
        Application.Exit();
    }
FormClosed是用户关闭表单时发生的事件。因此,当您关闭表单时,请输入一个将退出您的应用程序的代码,即-applicationn.exit-


希望这能起作用。

您转到您的form2,然后在出现表单时查找FormClosed

将此代码放入eventhandler:

private void Form2_FormClosed(object sender, FormClosedEventArgs e)
    {
        Application.Exit();
    }
FormClosed是用户关闭表单时发生的事件。因此,当您关闭表单时,请输入一个将退出您的应用程序的代码,即-applicationn.exit-

希望这能奏效