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

 更新时间:2021年10月31日 10:48:17   作者:星星是我  
很多初学者都想把默认的C#关闭按钮事件弄明白,本文就介绍一下C#窗体关闭事件,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

很多初学者都想把默认的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#使用反射机制实现延迟绑定

    C#使用反射机制实现延迟绑定

    这篇文章介绍了C#使用反射实现延迟绑定的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-07-07
  • C# char[]与string byte[]与string之间的转换详解

    C# char[]与string byte[]与string之间的转换详解

    在本篇文章里小编给大家分享的是关于C# char[]与string byte[]与string之间的转换的知识点内容,需要的朋友们参考下
    2019-11-11
  • C#如何获取枚举的描述属性详解

    C#如何获取枚举的描述属性详解

    这篇文章主要给大家介绍了关于C#如何获取枚举的描述属性的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-02-02
  • 互斥量mutex的简单使用(实例讲解)

    互斥量mutex的简单使用(实例讲解)

    本篇文章主要是对互斥量mutex的简单使用进行了介绍,需要的朋友可以过来参考下,希望对大家有所帮助
    2014-01-01
  • C#实现XML文档的增删改查功能示例

    C#实现XML文档的增删改查功能示例

    这篇文章主要介绍了C#实现XML文档的增删改查功能,结合实例形式分析了xml文档的创建及C#针对xml文档的加载及增删改查等操作技巧,需要的朋友可以参考下
    2017-01-01
  • C# try catch代码块不起效果的解决方法

    C# try catch代码块不起效果的解决方法

    本文主要介绍了C# try catch代码块不起效果的解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-01-01
  • C# 操作符之二 算数操作符

    C# 操作符之二 算数操作符

    算数操作符+,-,*,/,%,的用法和大多程序设计语言是相同的,%号的作用是整数除法中产生余数,而整数法会直接去掉小数部分,而不是四舍五入。
    2011-02-02
  • C#实现DataTable转换成IList的方法

    C#实现DataTable转换成IList的方法

    这篇文章主要介绍了C#实现DataTable转换成IList的方法,涉及C#针对DataTable操作的相关技巧,需要的朋友可以参考下
    2016-03-03
  • C# 表达式目录树Expression的实现

    C# 表达式目录树Expression的实现

    本文主要介绍了C# 表达式目录树Expression的实现,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-09-09
  • C#判断获取的是文件夹还是文件的实例

    C#判断获取的是文件夹还是文件的实例

    今天小编就为大家分享一篇C#判断获取的是文件夹还是文件的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-06-06

最新评论