C# 在 UI 进行 com 调用时我需要进度条才能工作

C# I need progress bar to work while UI makes com call

我有一个 C# Winforms UI,它调用 COM 对象来派生一些数据。

我想要 UI 上的进度条循​​环以指示工作正在进行中。问题是 COM 调用是同步的,因此处理会等待 COM 调用完成,因此不会调用进度条循环代码。

我应该: 1.让COM调用异步让进度条码循环? 2. 使用第二个线程 运行 进度条(这会起作用还是 UI 线程仍然挂在 COM 调用上,因此不会刷新进度条?) 3. 一些更聪明的方法?

您应该创建单独的线程来执行方法调用,这需要时间。在 returns 需要数据之前,在您的 UI 线程 上显示进度条。这应该可以正常工作。

即您应该 select 建议的三个选项中的第一个。