可能重复:
为什么我收到此错误:“跨线程操作无效:控制 lbFolders 从创建它的线程以外的线程访问。”?
在创建窗口句柄之前,不能对控件调用 Invoke 或 BeginInvoke
我有线程问题。
我每 600 毫秒从 COM 端口获取数据,当我处于调试模式时,我会在几秒钟后收到错误消息,但是当我处于非调试运行模式时,我会在一两分钟后收到错误消息,但错误仍然存在。
我得到的错误发生在每个线程上调用的某些函数上。
这是错误的图片:
代码的其他部分:
private void LoadData()
{
while (td.IsAlive)
{
eng.GetSpeedKmh();
eng.GetEngineRpm();
eng.GetCalculatedEngineLoadValue();
eng.GetFuelLevelInput();
eng.GetEngineTemp();
eng.MAF();
System.Threading.Thread.Sleep(600);
}
}
我能做些什么来解决这个问题?