.net 启动和显示多个同步操作的进度
我有一个WinForms应用程序,正在尝试添加根据datagridview中输入的数据启动多个操作的功能。在将行插入数据库以指示操作已成功之前,必须同步运行这些操作以监视它们是否成功完成。我在操作上还有一个状态事件处理程序,它将返回运行操作的百分比 到目前为止,我使用线程启动操作,但是它只更新其中一个线程的进度。当该线程完成时,它将继续下一个线程,并将一直工作到完成。我希望它们两个或多个同时运行,并能够报告每个的状态 我基本上是在网格中的行中循环,并使用其中的值实例化我创建的一个新类。然后,我创建一个线程并启动一个子线程,以从新对象执行操作。我想我可能很接近,因为我知道它们都在启动,但它们只是一个接一个地运行,而不是一次运行.net 启动和显示多个同步操作的进度,.net,vb.net,winforms,.net,Vb.net,Winforms,我有一个WinForms应用程序,正在尝试添加根据datagridview中输入的数据启动多个操作的功能。在将行插入数据库以指示操作已成功之前,必须同步运行这些操作以监视它们是否成功完成。我在操作上还有一个状态事件处理程序,它将返回运行操作的百分比 到目前为止,我使用线程启动操作,但是它只更新其中一个线程的进度。当该线程完成时,它将继续下一个线程,并将一直工作到完成。我希望它们两个或多个同时运行,并能够报告每个的状态 我基本上是在网格中的行中循环,并使用其中的值实例化我创建的一个新类。然后,我创
非常感谢您的帮助。如果它们一个接一个地运行,那么听起来好像它们不是以线程的形式运行。我建议确保线程是异步运行的 然后,当它们同时运行时,您可以使用代理向主流程报告并显示您的进度 您可以使用以下选项:
Delegate Sub delShowProgressOne(ByVal Row As Integer, ByVal Percent As Double)
Sub ShowProgressOne(ByVal Row As Integer, ByVal Percent As Double)
If Me.InvokeRequired Then
Me.Invoke(New delShowProgressOne(AddressOf ShowProgressOne), Row, Percent)
Else
DGV.Rows(Row).Cells("Progress").Value = Percent
End If
End Sub
以显示线程内的进度。它将函数的实际调用发送到窗体的线程,但仅用于执行ShowProgress
希望这些信息有帮助