深入理解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#中接口(interface)的理解

    C#中接口(interface)的理解

    C#中接口(interface)的理解...
    2007-03-03
  • C#实现对文件进行加密解密的方法

    C#实现对文件进行加密解密的方法

    这篇文章主要介绍了C#实现对文件进行加密解密的方法,涉及C#加密与解密的技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-04-04
  • C#之HttpClient的同步使用方式

    C#之HttpClient的同步使用方式

    这篇文章主要介绍了C#之HttpClient的同步使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-11-11
  • C#代码实现PDF文档操作类

    C#代码实现PDF文档操作类

    本篇文章给大家介绍使用pdf文档操作C#代码,本文代码非常简单,代码附有注释,需要注意的是:需要添加itextsharp.dll引用才可以正常通过编译,感兴趣的朋友可以参考下
    2015-10-10
  • c#注册客户端事件示例

    c#注册客户端事件示例

    这篇文章主要介绍了c#注册客户端事件使用示例,大家参考使用吧
    2014-01-01
  • 浅析C#中结构与类的区别

    浅析C#中结构与类的区别

    本文主要对C#结构与类的区别进行简要分析,文中举了实例,便于理解,具有很好的参考价值,需要的朋友一起来看下吧
    2016-12-12
  • C# null 合并运算符??(双问号)使用示例

    C# null 合并运算符??(双问号)使用示例

    这篇文章主要介绍了C# null 合并运算符??(双问号)使用示例,?? 运算符称作 null 合并运算符。如果此运算符的左操作数不为 null,则此运算符将返回左操作数;否则返回右操作数,需要的朋友可以参考下
    2014-06-06
  • C#调用第三方工具完成FTP操作

    C#调用第三方工具完成FTP操作

    这篇文章介绍了C#调用第三方工具完成FTP操作的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-05-05
  • 无法从 int? 转换为 int 运行时出现错误

    无法从 int? 转换为 int 运行时出现错误

    无法从"int?"转换为"int" ,在运行时会出现错误,通过强制类型转换(int)便可解决
    2014-05-05
  • C#操作串口通信协议Modbus的常用方法介绍

    C#操作串口通信协议Modbus的常用方法介绍

    这篇文章介绍了C#操作串口通信协议Modbus的常用方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-05-05

最新评论