首页 > 解决方案 > BackgroundWorker.ReportProgress 阻塞调用

问题描述

如何BackgroundWorker.ReportProgress等待 ProgressChanged 事件完成?

我有一个应用程序可以处理队列BackgroundWorker_DoWork并在收到新文件时显示视频。

ReportProgress是异步的,因此对它的多次调用会导致多种形式的视频在屏幕上堆叠,而不是一一出现。

当然,我可以ShowDialog()直接从调用表单DoWork,但表单使用的是 Windows Media Player 控件,它只能在 GUI 线程中工作。

再说一遍,从 调用它时如何等待ReportProgress完成DoWork

标签: c#backgroundworker

解决方案


我认为您应该在 BackgroundWorkerCompleted 中显示您的视频。I Your Dowork 您可以将您的视频添加到列表中,然后在所有工作完成后,将它们一一展示。


推荐阅读