单击红色X时停止应用程序C#

单击红色X时停止应用程序C#,c#,C#,所以我的程序有多种形式,我需要一种方法让某人点击X并结束程序。我发现Environment.exit(0)是有效的,只是当我处理完表单并关闭以继续下一个表单时,程序结束。因此,我需要在单击close按钮时进行特定调用,以便将关机代码放入其中。或一个同等的建议,以便程序可以从任何屏幕结束。作为C#的新手,我目前正在使用ShowDialog()来调节每个表单的输入 protected override void OnFormClosing(FormClosingEventArgs e) {

所以我的程序有多种形式,我需要一种方法让某人点击X并结束程序。我发现Environment.exit(0)是有效的,只是当我处理完表单并关闭以继续下一个表单时,程序结束。因此,我需要在单击close按钮时进行特定调用,以便将关机代码放入其中。或一个同等的建议,以便程序可以从任何屏幕结束。作为C#的新手,我目前正在使用ShowDialog()来调节每个表单的输入

protected override void OnFormClosing(FormClosingEventArgs e)
{
    Environment.Exit(0);
}
这是我当前的方法,但在表单关闭时激活,因此不是我需要的。这是Windows窗体

Application.Exit();
它将关闭与应用程序相关的所有正在运行的进程。和使用

this.close();
关闭当前活动的窗体。您可以在按钮单击事件中调用这些方法

在您的情况下,我建议您使用
bool
类型变量
标志
。创建一个全局变量
bool
类型并将其命名为
flag
,当您处于可以关闭整个应用程序的特定位置时,请设置
flag=true
,当您脱离该条件时,将其设置为
false
。 现在,在表单关闭事件中,使用以下代码:

protected override void OnFormClosing(FormClosingEventArgs e)
{
    if(flag == true)
         Environment.Exit(0);
}

您现有的代码是什么样子的..?这是WPF还是WinForms?添加了代码,WinForm的问题是,我需要它只在单击关闭按钮时发生,即默认的红色小X,因此我需要在单击X时首先找到该方法,但是是的。假设你到达某个部分并想退出,你会点击X。所以我需要它来结束这个过程,而不是直接进入下一个表格并输入空白数据。这给了我一个可行的想法,结果是e.CloseReason在按下X时是UserClosing,如果对话框刚刚结束,则是None。因此,虽然这段代码并不完全是需要的,但概念是正确的。我想要+1,但没有足够的重复,谢谢!这也是一个很好的解决方案。