我正在尝试更新文本框。我认为我的线程代码可以解决这个问题,但它不会。有人能帮忙吗?C中的多线程错误#
new Thread((ThreadStart)delegate { txtCapacitance.Text = Math.Round(capacitance, 3).ToString(); }).Start();
提供了以下错误:这一切都是由一个dataReceived功能每当接收USB数据被称为启动
Cross-thread operation not valid: Control 'txtCapacitance' accessed from a thread other than the thread it was created on.
注意。
这不会解决问题。后台工作人员仍然在与UI线程不同的线程上运行。 – 2010-04-08 04:31:58
@Marcelo Cantos,你看过文档吗? *您必须小心,不要操作DoWork事件处理程序中的任何用户界面对象。相反,通过ProgressChanged和RunWorkerCompleted事件与用户界面进行通信。* – 2010-04-08 04:34:27
你是对的;我错了;我很抱歉。我把它和普通的线程池混淆了。 – 2010-04-08 08:54:09