微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何让此下载异步运行

如何解决如何让此下载异步运行

我正在使用以下文件下载文件

Public WithEvents mclient As New WebClient
   Private Sub Download()
       Label2.Text = "I am downloading"
       Label2.Refresh()
       Dim filepath As String = (path+filename+".mp3")
       mclient.Encoding = Encoding.UTF8
       ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12
       mclient.Headers.Add(HttpRequestHeader.UserAgent,"")
       mclient.DownloadFileAsync(New Uri(link),filepath)
   End Sub

正在下载:

     Private Sub mClient_DownloadProgressChanged(sender As Object,e As DownloadProgressChangedEventArgs) Handles mclient.DownloadProgressChanged
   ProgressBar1.Value = e.Progresspercentage
            Label1.Text = (Val(e.BytesReceived) / Val(e.TotalBytesToReceive)).ToString("0.00") & "MB Downloaded"
            Label2.Text = "Downloading"
            Label2.Refresh()
    End Sub

要知道下载何时完成,我正在使用:

     Private Sub mClient_DownloadFileCompleted(sender As Object,e As AsyncCompletedEventArgs) Handles mclient.DownloadFileCompleted
            Label2.Text = "Download completed"
            Label2.Refresh()
    End Sub

这段代码工作了一段时间,但是今天,我重新打开了项目,运行了它,但是形式有点冻结/解冻。这很奇怪,因为下载和事件都是异步的。 如果下载是异步的,为什么会这样呢? 谢谢

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。