C#如何在每个表单中应用所有X标记按钮的退出代码?

时间:2016-04-06 09:04:36

标签: c# winforms exit

我知道此代码可以退出我的应用程序

System.Windows.Forms.Application.Exit();

但是如何为我的所有表单应用此代码 假设我有很多形式我是否必须将这些代码放在每种形式中?

4 个答案:

答案 0 :(得分:0)

将此行包含在包含static的{​​{1}}内的class方法中....这使得它有些模块化,但并没有太多用处。

答案 1 :(得分:0)

您可以尝试使用

this.close();

关闭当前有效的表单。同样,您可以在每个要关闭的表单中使用它。

答案 2 :(得分:0)

参考我的评论,您可以调用Close - 方法并使用FormClosing - 事件来关闭其他表单:

public partial class Form1 : Form
{
    Form2 form2;
    public Form1()
    {
        InitializeComponent();
        FormClosing += Form1_FormClosing;
        form2 = new Form2();
        form2.Show();
    }

    private void Form1_FormClosing(object sender, FormClosingEventArgs e)
    {
        form2.Close();
    }

    private void button1_Click(object sender, EventArgs e)
    {
        Close();
    }
}

在此示例中,Form1是您的MainForm,如果您关闭Form1,无论您使用Close - 方法还是通过默认按钮关闭表单,将引发FormClosing事件,所有其他表单将也被关闭了。

如果要终止当前进程,可以使用以下代码:

Process.GetCurrentProcess().Kill();

答案 3 :(得分:0)

在我工作过的许多Windows表单项目中,我们有一个基本表单,我们的代码中的所有表单都继承自这个基本表单,因此您可以使用下面的表单,只需更改其他表单即可从此继承之一。

public partial class frmBase: Form
{
    public frmBase()
    {
        InitializeComponent();
    }

    private void frmBase_FormClosed(object sender, FormClosedEventArgs e)
    {
        System.Windows.Forms.Application.Exit();
    }           
}