rt
解决方案 »
- c#中GDI+绘图
- c#读取sql2000中img类型的问题
- C# 如何根据GUID获取COM中的接口
- 关于内存问题
- 高兴!散分!
- 关于单点登陆的问题,虚心向大家请教(c#)。。
- SELECT FixtureID, Opponents + ' - ' + CONVERT (varchar, FixtureDate, 6) AS Fixture FROM Fixtures ORDER BY FixtureDate
- 关于TreeView要用到WebControl_client里的东东的问题
- 请问有没有办法动态添加一个组件到WEB FROM上
- 在C#中如何读取CPU的工业系列号?(就是那个唯一的编号)
- 请问怎样在一个程序里启动另外一个程序?
- c#语句怎么样得到Windows的用户和组?
Exit结束应用程序。
Dispose()是系统释放资源的。一般不用主动去调用。系统会自己调用的。
Appllication.Exit()是关闭程序
以下内容是在2.0环境下的,据说Form_Closing取代了原来的Closing,Form_Closed取代了原来的ClosedApllication.Exit会触发每个窗体的Form_Closing事件,在这个事件里可以用e.Cancel=true来撤销关闭过程(e 是事件处理函数的那个FormClosingEventArgs。如果撤销了,那么Apllication.Exit到此为止,它并不强制结束应用程序。 如果没有撤销,那么就会继续引发From_Closed事件,然后会有dispose的调用,释放资源(例如非托管资源,文件流,数据库联接?)这一过程才真正关上了窗口。 最后结束应用程序。Close方法直接引发当前窗体的Form_Closing,之后的过程也是Form_Closed,释放资源的Dispose。 如果应用程序只有这一个窗口的话,那么就继续main函数下的其他过程,然后退出应用程序。Dispose不管三七二十一,释放资源,关闭窗口。而且调用dispose的不同重载,会调用不同次数的disposing(bool disposing)。所以一般在用窗口时不会直接在事件处理中dispose,而是执行close。如果自己实现一个占用资源的类,可以直接使用dispose或是也将其封装在其他方法中,就像filestream等一样。关于dispose和finalize和析构函数我就一直搞不明白了,不是说用了 GC.SuppressFinalize就不会调用析构函数么? 为什么我做了一个析构函数后还是被调用了。