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 建议的三个选项中的第一个。
我有一个 C# Winforms UI,它调用 COM 对象来派生一些数据。
我想要 UI 上的进度条循环以指示工作正在进行中。问题是 COM 调用是同步的,因此处理会等待 COM 调用完成,因此不会调用进度条循环代码。
我应该: 1.让COM调用异步让进度条码循环? 2. 使用第二个线程 运行 进度条(这会起作用还是 UI 线程仍然挂在 COM 调用上,因此不会刷新进度条?) 3. 一些更聪明的方法?
您应该创建单独的线程来执行方法调用,这需要时间。在 returns 需要数据之前,在您的 UI 线程 上显示进度条。这应该可以正常工作。
即您应该 select 建议的三个选项中的第一个。