首页 > 数据库技术 > 详细

跨线程调用控件时关闭窗体时如何避免出现异常:Cannot access a disposed object.

时间:2014-02-27 08:59:47      阅读:626      评论:0      收藏:0      [点我收藏+]

在线程中跨线程调用窗体时,及使用Invoke给窗体控件赋值或更改属性时,若没有在窗体关闭前结束线程,则总是会弹出这样的异常:Cannot access a disposed object.

原因应该是线程中调用窗体控件时,窗体已被注销,因此因在窗体注销前退出所有线程。为解决这个问题可以加入如下代码:

  private void Form1_FormClosing(object sender, FormClosingEventArgs e)
        {
           System.Environment.Exit(0);
        }

则不会再弹出异常。

调用System.Environment.Exit(0可以彻底的退出程序,不管什么线程都被强制退出,把程序结束的很干净。

本人菜鸟一枚,只知道这样做程序中不会再出现这个异常,却不知道这样做是否合适,先记录一下,以后再研究。

跨线程调用控件时关闭窗体时如何避免出现异常:Cannot access a disposed object.,布布扣,bubuko.com

跨线程调用控件时关闭窗体时如何避免出现异常:Cannot access a disposed object.

原文:http://www.cnblogs.com/beilinyu/p/3569123.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!