Moin
wenn ich zwei Dateien über den WebClient herunterlade..
..kann ich Events gezielt adressieren:
.. und dann den Status in der ProgressBar anzeigen.
Wenn ich nun aber eine dynamische Anzahl an WebClients/Downloads habe, wie kann ich dazu jeweils eine ProgressBar anlegen lassen und die nötigen Parameter übergeben? Letztlich möchte ich gerne den Fortschritt von verschiedenen Downloads (gleichzeitig) in einer Liste oder verschiedenen ProgressBar ausgeben.
wenn ich zwei Dateien über den WebClient herunterlade..
VB.NET-Quellcode
- Dim client As WebClient = New WebClient
- AddHandler client.DownloadProgressChanged, AddressOf client_ProgressChanged
- client.DownloadFileAsync(New Uri("http://URL.com/Myfile.exe"), "..\MyFile.exe")
- Dim client2 As WebClient = New WebClient
- AddHandler client2.DownloadProgressChanged, AddressOf client_ProgressChanged2
- client2.DownloadFileAsync(New Uri("http://URL.com/Myfile2.exe"), "..\MyFile2.exe")
..kann ich Events gezielt adressieren:
VB.NET-Quellcode
- Private Sub client_ProgressChanged(ByVal sender As Object, ByVal e As DownloadProgressChangedEventArgs)
- Dim bytesIn As Double = Double.Parse(e.BytesReceived.ToString())
- Dim totalBytes As Double = Double.Parse(e.TotalBytesToReceive.ToString())
- Dim percentage As Double = bytesIn / totalBytes * 100
- ProgressBar1.Value = Int32.Parse(Math.Truncate(percentage).ToString())
- End Sub
- Private Sub client_ProgressChanged2(ByVal sender As Object, ByVal e As DownloadProgressChangedEventArgs)
- Dim bytesIn As Double = Double.Parse(e.BytesReceived.ToString())
- Dim totalBytes As Double = Double.Parse(e.TotalBytesToReceive.ToString())
- Dim percentage As Double = bytesIn / totalBytes * 100
- progressBar2.Value = Int32.Parse(Math.Truncate(percentage).ToString())
- End Sub
.. und dann den Status in der ProgressBar anzeigen.
Wenn ich nun aber eine dynamische Anzahl an WebClients/Downloads habe, wie kann ich dazu jeweils eine ProgressBar anlegen lassen und die nötigen Parameter übergeben? Letztlich möchte ich gerne den Fortschritt von verschiedenen Downloads (gleichzeitig) in einer Liste oder verschiedenen ProgressBar ausgeben.