Scusate il doppio post ma non mi fa editare

dunque sono riuscito a capire come contare la velocità di download, ma va in conflitto con
codice:
                While flDow
                    Application.DoEvents()
                    Thread.Sleep(20)
                End While
e non ne capisco il motivo, qui c'è il pezzo di codice che conta i secondi:
codice:
Private Sub download_DownloadProgressChanged(ByVal sender As Object, ByVal e As System.Net.DownloadProgressChangedEventArgs) Handles download.DownloadProgressChanged
        Dim dimensionitotali As String
        Dim dimensioniscaricate As String
        Dim temposs As String
        Timer1.Start()
        temposs = Label5.Text
        Dim bytericevuti As Long = e.BytesReceived
        Dim kbz As Double = bytericevuti / (temposs * 1024)
        dimensionitotali = e.TotalBytesToReceive / 1048576
        dimensioniscaricate = e.BytesReceived / 1048576
        dimen.Text = FormatNumber(dimensionitotali, 2) + " MB / " + FormatNumber(dimensioniscaricate, 2) + " MB"
        ProgressBar1.Value = e.ProgressPercentage
        perc.Text = ProgressBar1.Value
        Label6.Text = kbz + "KB/s"
    End Sub
ho messo un timer impostato a 1000..dovrebbe funzionare ma va in conflitto con Application.DoEvents() come posso risolvere????