Dim myWebClient As WebClient
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
myWebClient = New WebClient
AddHandler myWebClient.DownloadProgressChanged, AddressOf ShowDownProgress '捕獲下載進度變化事件。
AddHandler myWebClient.DownloadDataCompleted, AddressOf DownloadDataCompleted
DownLoadFiles()
End Sub
Private Sub DownLoadFiles()
myWebClient.DownloadFileAsync(New Uri(網址省略), "1.bat")
End Sub
到這部后檔案能正常下載,但是下面的代碼就無法觸發,請問是那里出錯了
Sub DownloadDataCompleted(ByVal sender As Object, ByVal e As System.ComponentModel.AsyncCompletedEventArgs)
If MessageBox.Show("打開剛下載的程式", "提示", MessageBoxButtons.YesNo) = DialogResult.Yes Then
System.Diagnostics.Process.Start("1.bat") ' 啟動剛下載的程式
end if
end sub
uj5u.com熱心網友回復:
你這是異步下載,要寫回呼函式的uj5u.com熱心網友回復:
沒做過,是不是可以比較大小和已經下載的大小uj5u.com熱心網友回復:
異步下載檔案,下載完成時應處理DownloadFileCompleted事件,而不是DownloadDataCompleted事件uj5u.com熱心網友回復:
Private Sub DownLoadFiles()myWebClient = New WebClient
AddHandler WebClient.DownloadProgressChanged, New DownloadProgressChangedEventHandler(AddressOf ShowDownProgress)
AddHandler WebClient.DownloadFileCompleted, New AsyncCompletedEventHandler(AddressOf DownloadDataCompl)
myWebClient.DownloadFileAsync(New Uri(網址省略), "1.bat")
End Sub
改成這樣試試吧。用的不多
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/62055.html
標籤:VB.NET
上一篇:vb.net值得學下去嗎?
