2013-05-30 3 views
1

Я пытаюсь загрузить 4 файла одновременно с использованием 4 веб-клиентов. Он загружает все 4 файла одновременно, но индикатор выполнения первых двух работает отлично, а третий индикатор прогресса перемещается с 1-го, а четвертый индикатор выполнения точно перемещается со вторым. Вот мой код, имеющий отношение к проблеме.Progress Bar не работает для третьей загрузки в VB.NET

Public WithEvents downloadFile1 As WebClient 
Public WithEvents downloadFile2 As WebClient 
Public WithEvents downloadFile3 As WebClient 
Public WithEvents downloadFile4 As WebClient 

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 
    System.Net.ServicePointManager.DefaultConnectionLimit = 10 
End Sub 


Private Sub startDownloadFile1() 

    downloadFile1 = New WebClient 
    Dim targetURL As String = lstURLs.Items.Item(0) 
    Dim destinationPath As String = "e:\Downloads\0.jpg" 
    downloadFile1.DownloadFileAsync(New Uri(targetURL), destinationPath) 

End Sub 

Private Sub startDownloadFile2() 

    downloadFile2 = New WebClient 
    Dim targetURL As String = lstURLs.Items.Item(1) 
    Dim destinationPath As String = "e:\Downloads\1.jpg" 
    downloadFile2.DownloadFileAsync(New Uri(targetURL), destinationPath) 

End Sub 

и similler для startDownloadFile3() и startDownloadFile()

Private Sub btnDownload_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDownload.Click 
    startDownloadFile1() 
    startDownloadFile2() 
    startDownloadFile3() 
    startDownloadFile4() 
End Sub 

Private Sub downloadFile1_DownloadProgressChanged(ByVal sender As Object, ByVal e As System.Net.DownloadProgressChangedEventArgs) Handles downloadFile1.DownloadProgressChanged 

    pb1.Value = e.ProgressPercentage 

End Sub 

Private Sub downloadFile2_DownloadProgressChanged(ByVal sender As Object, ByVal e As System.Net.DownloadProgressChangedEventArgs) Handles downloadFile2.DownloadProgressChanged 

    pb2.Value = e.ProgressPercentage 

End Sub 

Private Sub downloadFile3_DownloadProgressChanged(ByVal sender As Object, ByVal e As System.Net.DownloadProgressChangedEventArgs) Handles downloadFile1.DownloadProgressChanged 

    pb3.Value = e.ProgressPercentage 

End Sub 

Private Sub downloadFile4_DownloadProgressChanged(ByVal sender As Object, ByVal e As System.Net.DownloadProgressChangedEventArgs) Handles downloadFile2.DownloadProgressChanged 

    pb4.Value = e.ProgressPercentage 

End Sub 
+0

ОК, я редактировал пост. –

+1

что я ... Я только что заметил эту вещь:/как это произошло на Земле. Позвольте мне изменить это и повторить попытку .. спасибо, брат, вы попросили меня добавить этот код: D –

ответ

2
Private Sub downloadFile3_DownloadProgressChanged(ByVal sender As Object, ByVal e As System.Net.DownloadProgressChangedEventArgs) Handles **downloadFile1.**DownloadProgressChanged 

    pb3.Value = e.ProgressPercentage 

End Sub 

Private Sub downloadFile4_DownloadProgressChanged(ByVal sender As Object, ByVal e As System.Net.DownloadProgressChangedEventArgs) Handles **downloadFile2.**DownloadProgressChanged 

    pb4.Value = e.ProgressPercentage 

Изменить на: простую ошибку

Private Sub downloadFile3_DownloadProgressChanged(ByVal sender As Object, ByVal e As System.Net.DownloadProgressChangedEventArgs) Handles **downloadFile3.**DownloadProgressChanged 

    pb3.Value = e.ProgressPercentage 

End Sub 

Private Sub downloadFile4_DownloadProgressChanged(ByVal sender As Object, ByVal e As System.Net.DownloadProgressChangedEventArgs) Handles **downloadFile4.**DownloadProgressChanged 

    pb4.Value = e.ProgressPercentage 
+0

oh да .. отлично работает сейчас .. спасибо :) но как это произошло? Я не копировал и не вставлял код, я выбрал события. Думаю, этого не произошло. –

Смежные вопросы