【发布时间】:2011-09-30 11:42:48
【问题描述】:
我正在练习线程并遇到了这个问题。情况是这样的:
我在一个表单上有 4 个进度条,一个用于下载文件,一个用于显示页面加载状态等...
我必须从一个单独的线程控制每个 ProgressBar 的进度。
问题是我收到了一个 InvalidOperationException,上面写着
跨线程操作无效:从控制“progressBar1”访问 与创建它的线程不同的线程。
我在这种方法上错了吗,或者有人可以告诉我如何实现吗?
【问题讨论】:
-
查看 Jon Skeet 关于 Windows 窗体中的线程的 this 文章。它应该把事情弄清楚。简短的解释是您需要从其他线程调用 UI 元素,因为 UI 在其自己的线程上运行。
标签: c# winforms multithreading