0
WinForms 응용 프로그램에서 BackgroundWorker를 사용하여 문제를 해결했지만 장기 실행 작업을 취소하고 작업을 실행하는 동안 ListBox에 결과가 표시되도록하고 싶습니다. 추가 조건이있는 확인란을 추가하려는 경우를 제외하고는 정상적으로 작동합니다. 한 번에 여러 작업을 실행하려고 할 때 문제가 발생합니다. 전의. XX와 YY는 XX를 먼저 실행 한 다음 YY로 시작합니다.조건에 따라 동일한 BackgroundWorker를 여러 번 실행 하시겠습니까?
Private Sub UpdateDB_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnTestAll.Click
If cbxTestYY.Checked OrElse cbxTesteXX.Checked Then
SetBusyState(True)
If cbxTestXX.Checked Then
bkWorker.RunWorkerAsync(1)
End If
If cbxTesteYY.Checked Then
bkWorker.RunWorkerAsync(2)
End If
End If
End Sub
Private Sub bkWorker_DoWork(ByVal sender As System.Object, ByVal e As System.ComponentModel.DoWorkEventArgs) Handles bkWorker.DoWork
If bkWorker.CancellationPending Then
e.Cancel = True
Exit Sub
Else
If e.Argument = 1 Then
AddItemToListBox("", "XX")
TestUnits(_XXDimensionUnits, True)
AddItemToListBox(" Calculating Units ")
TestUnits(_XXCalculationUnits, False)
End If
If e.Argument = 2 Then
AddItemToListBox("", "YY")
TestUnits(_YYCalculationUnits, False)
End If
End If
End Sub
는 내가 허용되지 않습니다 같은 BackgroundWorker에 여러 작업을 실행하려고 알고 있지만, 나는이 그래서 특정 순서로 실행을 해결하는 방법을 어떤 생각을 가지고 있겠지. 모든 도움말 Appriciate !!
한스 고맙습니다 !!! 너는 왕이야 !! 첫 번째 샷에서 내 문제를 해결! – Haris