ITPub博客

首页 > Linux操作系统 > Linux操作系统 > winform线程间操作无效: 从不是创建控件的线程访问它

winform线程间操作无效: 从不是创建控件的线程访问它

原创 Linux操作系统 作者:fangqm 时间:2010-09-20 17:08:19 0 删除 编辑
为什么.net不让我们跨线程操作控件,这是有好处的。因为如果你的线程多了,那么当两个线程同时尝试将一个控件变为自己需要的状态时,线程的死锁就会发生。但是难道就是因为这个原因,我们就只能让程序卡着么?当然不是,这里教大家一个解决方案:用BackGroundWorker
那么是不是用Thread就不行呢?其实不是的,.net中也有线程安全的控件访问。如果想了解如何用thread来解决“线程间操作无效: 从不是创建控件的线程访问它”,建议大家看看这篇文章:
        http://www.cnblogs.com/imissherso/archive/2007/01/28/632480.html
        此文从非线程安全,线程安全和BackgroundWork三种方法讨论了这个问题,而我这里是针对第三个问题深入解释了下,希望能够对大家带来帮助。

 

 

如果这样做了以后还是会出现同样的问题,则在load里面加上这么一句:

System.Windows.Forms.Form.CheckForIllegalCrossThreadCalls = false;

这样就不会出现问题啦!

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/23109131/viewspace-674506/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: .net经典网站收藏
请登录后发表评论 登录
全部评论
创业项目 https://u.rscode.cn

注册时间:2010-03-24

  • 博文量
    297
  • 访问量
    784645