我想創建兩個按鈕,將暫停和恢復我的BackgroundWorker,但我不知道我從哪裏開始我的代碼,我剛開始學習VB.net,並想了解暫停和恢復背景工作的功能。VB.net BackgroundWorker暫停/恢復
這裏是我現有的BackgroundWorker的代碼,我希望的提示暫停和恢復
Public resetevent As New ManualResetEvent(False)
Dim boo As Nullable(Of Boolean) = True
Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
Try
If BackgroundWorker2.IsBusy <> True Then
BackgroundWorker2.RunWorkerAsync()
resetevent.Set()
End If
Catch ex As Exception
End Try
End Sub
Private Sub BackgroundWorker2_DoWork(sender As System.Object, e As System.ComponentModel.DoWorkEventArgs) Handles BackgroundWorker2.DoWork
Dim worker2 As System.ComponentModel.BackgroundWorker = CType(sender, System.ComponentModel.BackgroundWorker)
Try
Dim Stream As New System.IO.FileStream("Sample.txt", IO.FileMode.Open)
Dim sReader As New System.IO.StreamReader(Stream)
Dim Index As Integer = 0
Do While sReader.Peek >= 0
resetevent.WaitOne()
Thread.Sleep(500)
eList.Add(sReader.ReadLine)
Delay(1)
Loop
eArray = eList.ToArray
Thread.Sleep(1000)
Stream.Close()
sReader.close()
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
End Sub
Private Sub BackgroundWorker2_ProgressChanged(sender As System.Object, e As System.ComponentModel.ProgressChangedEventArgs) Handles BackgroundWorker2.ProgressChanged
Try
Catch ex As Exception
End Try
End Sub
Private Sub BackgroundWorker2_Completed(sender As System.Object, e As System.ComponentModel.RunWorkerCompletedEventArgs) Handles BackgroundWorker2.RunWorkerCompleted
Try
resetevent.Reset()
Catch ex As Exception
End Try
End Sub
Private Sub pause_Click(sender As Object, e As EventArgs) Handles pause.Click
pause.Enabled = False
resme.Enabled = True
If BackgroundWorker1.IsBusy Then
boo = False
resetevent.Reset()
End If
End Sub
Private Sub resme_Click(sender As Object, e As EventArgs) Handles resme.Click
resme.Enabled = False
pause.Enabled = True
If BackgroundWorker1.IsBusy Then
boo = True
resetevent.Set()
End If
此代碼現在工作的感謝
可能的[後臺工作者的暫停/恢復循環]的副本(http://stackoverflow.com/questions/8359058/pause-resume-loop-in-background-worker) –
我的代碼現在工作暫停和恢復工作。感謝提示 –