博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
FormClosing
阅读量:5028 次
发布时间:2019-06-12

本文共 815 字,大约阅读时间需要 2 分钟。

private void MainForm_FormClosing(object sender, FormClosingEventArgs e)

        {
            if (bl == false)
            {
                DialogResult dr = MessageBox.Show("不需要保存吗?", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Question);
                if (dr == DialogResult.OK)
                {
                    Application.Exit();
                }
                else
                {
                    e.Cancel = true;
                }
            }
            else
            {
                Application.Exit();
            }
           
        }
点确定按钮是要点两下?窗体才关闭?

Application.Exit();又去调用了formclosing事件哈

用这个绝对不会出现上面的问题哈

environment.exit(environment.exitcode)

 

当用户点击窗口右上角的X时,会先后引发FormClosing和FormClosed事件,在FormClosing事件中可将e.Cancel设为true来取消窗口的关闭,但是之后再用Form.Close方法关闭窗体时,FormClosing事件仍然会被捕获.按MSDN的说法,Application.Exit()方法可以不引发FormClosing和FormClosed事件.

   如果在一个NotifyIcon程序中,隐藏的窗体在使用Application.Exit()事件时,程序没有退出.原因为何呢?
   应该先调用Form.Dispose(),然后调用application.Exit(),程序才可以顺利关闭,看来对于隐藏的窗体,需先释放资源,才可关闭程序.

转载于:https://www.cnblogs.com/lgxll/archive/2012/06/22/2558495.html

你可能感兴趣的文章
Windows Azure: 使用Blob的PutBlock实现大文件断点续传
查看>>
向集合中添加自定义类型--建议在自定义类型的时候要重写equals方法
查看>>
塑胶件3D打样
查看>>
leetcode-数数并说
查看>>
笔记二:LoginCheck.php
查看>>
Java(C#)基础差异-语法
查看>>
pip使用报错【cannot import name HTTPSHandler】
查看>>
学习触发器
查看>>
Axapta: get inventory quantity on hand Form
查看>>
【JS简洁之道小技巧】第一期 扁平化数组
查看>>
Linux下如何删除Oracle
查看>>
React 多组件传值props和this
查看>>
vue 组件 子向父亲通信用自定义方法用事件监听
查看>>
Centos 7网卡设置
查看>>
ASP.NET MVC 导出CSV文件
查看>>
How to fix phpmyadmin error, incorrect format parameter that appeared while importing a database?
查看>>
代码质量管控的四个阶段
查看>>
Python语言快速入门
查看>>
LeetCode 88. Merge Sorted Array
查看>>
TokenAutication源码分析
查看>>