首页 > 编程语言 > 详细

线程间操作无效: 从不是创建控件"窗体的名称"的线程访问它.

时间:2014-05-22 01:31:35      阅读:342      评论:0      收藏:0      [点我收藏+]
有两种方式解决 
1.在窗体构造函数中写Control.CheckForIllegalCrossThreadCalls =false;
2.使用Invoke等委托函数。

问题原因是。net2.0以后拒绝多线程访问空间,避免空间造成死锁。以前Control.CheckForIllegalCrossThreadCalls =false;默认就是这样,现在默认为true。
如果不会好几个线程同时操作一个控件用方法1就可以。如果存在多个线程一起操作控件使用方法2

方法2可以

Invoke(new MethodInvoker(delegate()
{
//do something...
}));

线程间操作无效: 从不是创建控件"窗体的名称"的线程访问它.,布布扣,bubuko.com

线程间操作无效: 从不是创建控件"窗体的名称"的线程访问它.

原文:http://www.cnblogs.com/FLWL/p/3738690.html

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