C#关闭窗口应用程序语句写法

在c#中退出WinForm程序包括有很多方法,如:this.Close(); Application.Exit();Application.ExitThread(); System.Environment.Exit(0); 等他们各自的方法不一样,下面我们就来详细介绍一下

FormClosing事件方法/步骤

  • 01

    打开visual studio软件,进入菜单“文件”->新建->新建项目。 选择windows窗体程序,项目名为“CloseWindow”。

  • 02

    主窗体的FormClosing事件,在窗体关闭之前调用,只要在里面使用 e.Cancel=true; 就可以让窗口不能关闭。 在程序中添加一个FormClosing事件,在代码中填写代码: private void Form1_FormClosing(object sender, FormClosingEventArgs e) { if (MessageBox.Show("真的要退出程序吗?", "退出程序", MessageBoxButtons.OKCancel) == DialogResult.Cancel) { e.Cancel = true; MessageBox.Show("取消了窗体关闭"); } else { MessageBox.Show("窗体关闭成功"); } }

  • 03

    现在我们就关闭窗口按钮提供的“X”,执行“取消”关闭窗口。我们发现窗口还在,提示了“取消关闭窗体”

  • 04

    关闭成功,执行“确定”关闭窗口。弹出“窗体关闭成功”,当前窗体关闭了。

FormClosed事件方法/步骤

  • 01

    FormClosed 在关闭后发生,窗体的关闭动作不可取消; 在窗体时间中找打FormClosed事件,双击创建一个事件,里面可以执行窗体关闭的一些后续操作。 private void Form1_FormClosed(object sender, FormClosedEventArgs e)        { MessageBox.Show("FormClosed 关闭窗口,我在这里释放了所有资源"); }

  • 02

    点击关闭窗口,确认关闭,之后弹出两个窗口分别是FormClosing事件的关闭提示和FormClosed事件的关闭提示。

  • 03

    点击关闭窗口,在FormClosing提示“是否关闭窗口”时点击取消。 发现弹出了“取消关闭成功”的弹出框,窗体没有关闭。也没调用FormClosed事件。

.this.Close()关闭窗口

  • 01

    this.Close();   只是关闭当前窗口,若不是主窗体的话,是无法退出程序的,另外若有托管线程(非主线程),也无法干净地退出。 在程序中在添加一个form,就用默认名“form2”

  • 02

    窗体一调用窗体二。 窗体一添加一个按钮,text属性设置值为“调用form2”

  • 03

    在调用form2事件中完成代码: private void btn_dy_Click(object sender, EventArgs e) { new Form2().ShowDialog(); }

  • 04

    在窗体2中添加一个按钮“close关闭”,按钮事件完成用close方法关闭窗口。 private void btn_clos_Click(object sender, EventArgs e) { this.Close(); }

  • 05

    运行程序,点击“调用form2”进入“form2”,点击close关闭窗口。 发现这样关闭窗口只把form2的窗口关闭了,form1还存在

Application.Exit()关闭窗口

  • 01

    Application.Exit();  强制所有消息中止,退出所有的窗体,但是若有托管线程(非主线程),也无法干净地退出; 在窗体上添加一个按钮(Application.Exit),调用事件为: private void btn_exit_Click(object sender, EventArgs e) { Application.Exit(); }

  • 02

    编译运行程序,进入form2,点击按钮“Application.Exit”。 发现点击form2的按钮“Application.Exit”,会弹出窗口一的关闭确认提示。如果点击取消关闭窗口,则form1和form2都不关闭

  • 03

    编译运行程序,进入form2,点击按钮“Application.Exit”。 发现点击form2的按钮“Application.Exit”,会弹出窗口一的关闭确认提示。如果点击取消确认窗口,电泳form1的“确认关闭窗口”和“FormClosed 关闭窗口,我在这里释放了所有资源”的提示。

    Application.ExitThread()关闭窗口

    • 01

      Application.ExitThread(); 强制中止调用线程上的所有消息,同样面临其它线程无法正确退出的问题;

      System.Environment.Exit(0)关闭窗口

      • 01

        System.Environment.Exit(0);   这是最彻底的退出方式,不管什么线程都被强制退出,把程序结束的很干净。

      (0)

      相关推荐