深入理解C#窗体关闭事件

很多初学者都想把默认的C#关闭按钮事件弄明白,主要用在我想关闭窗口但是我还想在关闭前有一个提示,可是网上真的有太多的答案都是错的,今天在这里从头到尾给大家设置一下,希望可以帮到大家。

1、第一步

深入理解C#窗体关闭事件_第1张图片

2、第二步

名号命名好后,双击这个名字就可以对这个事件进行编辑了,找不到的就可以进入.cs文件自己查看

 private  void frmMom_FormClosing(object sender, FormClosingEventArgs e)
    {
        
        DialogResult result = MessageBox.Show("你确定要关闭吗!", "提示信息", MessageBoxButtons.OKCancel, MessageBoxIcon.Information);
        if (result == DialogResult.OK)
        {
            Console.WriteLine("1");
            e.Cancel = false;
           //点击OK
        }
        else
        {
           
            Console.WriteLine("2");
            e.Cancel = true;
        }
    }

3、最后可以检查一下设计designer.cs的文件看看对不对

this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.frmMom_FormClosing);

this.frmMom_FormClosing不能和FormClosing 重名否则报错,记住啊
还有一个属性就是FormClosed,这个方法是用在关闭页面后你想执行的方法,比如关闭页面后关闭一个服务之类的。

C# 使用多线程,在关闭窗体时 怎么关闭窗体的所有线程,使程序退出。

  • this.Close(); 只是关闭当前窗口,若不是主窗体的话,是无法退出程序的,另外若有托管线程(非主线程),也无法干净地退出;
  • Application.Exit(); 强制所有消息中止,退出所有的窗体,但是若有托管线程(非主线程),也无法干净地退出;
  • Application.ExitThread(); 强制中止调用线程上的所有消息,同样面临其它线程无法正确退出的问题;
  • System.Environment.Exit(0); 这是最彻底的退出方式,不管什么线程都被强制退出,把程序结束的很干净。
  • Thread_VIEW.Abort(); 关闭Thread_VIEW线程
  • Thread_SAVE.Abort(); 关闭Thread_SAVE线程

到此这篇关于深入理解C#窗体关闭事件的文章就介绍到这了,更多相关C#窗体关闭事件内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

你可能感兴趣的:(深入理解C#窗体关闭事件)