Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 启动和显示多个同步操作的进度_.net_Vb.net_Winforms - Fatal编程技术网

.net 启动和显示多个同步操作的进度

.net 启动和显示多个同步操作的进度,.net,vb.net,winforms,.net,Vb.net,Winforms,我有一个WinForms应用程序,正在尝试添加根据datagridview中输入的数据启动多个操作的功能。在将行插入数据库以指示操作已成功之前,必须同步运行这些操作以监视它们是否成功完成。我在操作上还有一个状态事件处理程序,它将返回运行操作的百分比 到目前为止,我使用线程启动操作,但是它只更新其中一个线程的进度。当该线程完成时,它将继续下一个线程,并将一直工作到完成。我希望它们两个或多个同时运行,并能够报告每个的状态 我基本上是在网格中的行中循环,并使用其中的值实例化我创建的一个新类。然后,我创

我有一个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

希望这些信息有帮助