2020-07-05C#报错:[其他信息: 线程间操作无效: 从不是创建控件“Form1”的线程访问它。]
C#报错:[其他信息: 线程间操作无效: 从不是创建控件“Form1”的线程访问它。]
出错的代码如下
Thread t1 = new Thread(new ThreadStart(readzcm)); Thread t2 = new Thread(new ThreadStart(getzcm)); t1.Start(); t2.Start(); Application.DoEvents(); Control.CheckForIllegalCrossThreadCalls = false;
经查询,问题原因是:net2.0以后拒绝多线程访问空间,避免空间造成死锁。以前Control.CheckForIllegalCrossThreadCalls =false;默认就是这样,现在默认为true。
如果出现多个线程同时访问一个控件就会报错,解决方法如下
Invoke(new MethodInvoker(delegate () { readzcm(); getzcm(); }));
注:如果不会出现多个线程同时访文一个控件,仍然可以用上面报错代码。
相关文章
- C# 报错 其他信息: 输入数组长度大于此表中的列数。
- c# 实现一键下载无水印抖音视频(全代码奉献)
- C#导出数据到EXCEL文件,过长的数值被转义的解决方法
- C#如何将数组中数据转成datagridview中的数据
- C#中 random.Next(a, b)范围|C#中random方法的随机数产生范围
- C#报错 HResult=-2146233033 Message=输入字符串的格式不正确。
- C#如何引入Windowsmediaplayer控件
- C#报错:[其他信息: 线程间操作无效: 从不是创建控件“Form1”的线程访问它。]
- DataGridView 清空时出现System.ArgumentException:“不能清除此列表。”
- C#报错:dataGridView的未将对象引用设置到对象的实例
暂无留言,快抢沙发!