VB.net Webclient.DownloadFileAsync Not Downloading



我想为我的程序做一个下载管理器。但是当我运行这段代码时,它给我的消息框说"下载开始了",但就是这样。我没有得到任何文件下载或进度条更改?有人知道为什么吗?

Public Class frmDownloader
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        WebClient1.DownloadFileAsync(New Uri("https://s3.amazonaws.com/MinecraftDownload/launcher/Minecraft_Server.exe"), "C:hi.exe")
        MsgBox("download started")
    End Sub
    Private Sub WebClient1_DownloadProgressChanged(ByVal sender As Object, ByVal e As System.Net.DownloadProgressChangedEventArgs) Handles WebClient1.DownloadProgressChanged
        ProgressBar1.Value = e.ProgressPercentage
        MsgBox("Download Progress Changed")
    End Sub

End Class

在与开始下载的线程不同的线程上调用DownloadProgressChanged方法。在这个回调中,你似乎在操纵一些GUI元素:ProgressBar1.Value。永远不要在与创建GUI元素的线程不同的线程上操作它们,否则可能会出现异常。根据您正在处理的应用程序类型,有不同的方式来封送GUI线程上的调用。例如,在WinForms中,你应该使用控件。BeginInvoke方法。在WPF和Silverlight中,等价的是Dispatcher.BeginInvoke.

相关内容

  • 没有找到相关文章

最新更新