Chinaunix首页 | 论坛 | 博客
  • 博客访问: 12876862
  • 博文数量: 1293
  • 博客积分: 13501
  • 博客等级: 上将
  • 技术积分: 17974
  • 用 户 组: 普通用户
  • 注册时间: 2011-03-08 18:11
文章分类

全部博文(1293)

文章存档

2019年(1)

2018年(1)

2016年(118)

2015年(257)

2014年(128)

2013年(222)

2012年(229)

2011年(337)

分类: C#/.net

2015-01-20 20:13:31

    关于Close和FormClosed FormClosing,花点时间来理理是有点意思的。

image

    上图,点击[FormClose]的执行流程:先跑到button1_Click去Close(),再进入Form1_FormClosing,最后才进入Form1_FormClosed。

image

    很多时候,我们希望点击button1退出;有些时候又希望点击右上角的X退出。而这两种退出,都会进入Form1_FormClosing、Form1_FormClosed。故如果退出后要进行一些操作,推荐将这些操作放在Form1_FormClosed/Form1_FormClosing中,这样像button1的click事件只需要Close就可以了。能有效避免代码冗余。

参考文献:


FormClosing事件

在窗体关闭时,FormClosing事件发生。此事件会得到处理。从而释放与窗体相关的所有资源。

如果取消此事件,则窗体仍然保持打开状态。

当窗体显示为模式对话框时,单击“关闭”会隐藏窗体并将DialogResult属性设为Cancel。

通过在些事件中设置DialogResult属性可以在用户单击右上角关闭按钮时重写DialogResult的值。

FormClosed事件

在用户或Application类的Close方法或Exit方法关闭窗体后,会发生FormClosed事件。

可以使用此事件释放窗体的一些资源。还可以使用此事件保存输入窗体中的一些信息或者更新父窗体

阅读(3375) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~