Salve, vorrei visualizzare in una label la velocità di download espressa in kb, io per scaricare un file uso questo codice:
codice:
Public WithEvents TCP As New System.Net.WebClient
codice:
Public Mem1 As String, Mem2 As String
codice:
Private Sub PrgChngd(ByVal sender As Object, ByVal e As System.Net.DownloadProgressChangedEventArgs) Handles TCP.DownloadProgressChanged ProgressBar1.Value = e.ProgressPercentage
If e.TotalBytesToReceive > 1073741824 Then
Mem1 = Math.Round((((e.TotalBytesToReceive / 1024) / 1024) / 1024), 2) & " GB"
Else
Mem1 = Math.Round((((e.TotalBytesToReceive / 1024) / 1024)), 2) & " MB"
End If
Label3.Text = Mem1
If e.BytesReceived > 1073741824 Then
Mem2 = Math.Round((((e.BytesReceived / 1024) / 1024) / 1024), 2) & " GB"
Else
Mem2 = Math.Round((((e.BytesReceived / 1024) / 1024)), 2) & " MB"
End If
Label4.Text = Mem2
Label5.Text = e.ProgressPercentage & "%"
End Sub
Private Sub PrgComplete(ByVal sender As Object, ByVal e As System.ComponentModel.AsyncCompletedEventArgs) Handles TCP.DownloadFileCompleted
If e.Cancelled = True Then
MessageBox.Show("Errore! Il download non è stato completato!", "Errore!", MessageBoxButtons.OK, MessageBoxIcon.Error)
Else
MessageBox.Show("Il Download è stato completato con successo!", "Download Completo", MessageBoxButtons.OK, MessageBoxIcon.Information)
End If
Button1.Text = "Scarica"
End Sub
Public Sub Download()
If Button1.Text = "Scarica" Then
On Error GoTo Err
SaveFileDialog1.FileName = Listview1.SelectedItems(0).SubItems(1).Text & ".mp4"
DialogResult = SaveFileDialog1.ShowDialog()
If DialogResult = Windows.Forms.DialogResult.OK Then
TCP.DownloadFileAsync(New Uri(ListView2.SelectedItems(0).SubItems(1).Text), SaveFileDialog1.FileName)
Button1.Text = "Ferma"
End If
Else
TCP.CancelAsync()
Button1.Text = "Scarica"
Label3.Text = ""
Label4.Text = ""
Label5.Text = ""
ProgressBar1.Value = 0
End If
Exit Sub
Err: MessageBox.Show("Errore! " & ErrorToString(), "Errore!", MessageBoxButtons.OK, MessageBoxIcon.Error)
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Download()
End Sub
Come posso risolvere il problema?
Grazie in anticipo