最小限のコードでこれを行う最も簡単な方法は、ダウンロードファイルの組み込みプログレスバーを使用することです。プログレスバーとキャンセルボタンが付いた小さなウィンドウが表示されます。あなたのコードに追加する必要があるだろうすべては、以下のパラメータです:
My.Computer.Network.DownloadFile("https://www.dropbox.com/s/gg3ocih2dv3t3lg/adwcleaner_6.020.exe?dl=0", _
"C:\Users\llexl\Desktop\adwcleaner_6.020.exe", "", "", True, 500, True)
あなたは先のファイルパスの後に見る最初の真のプログレスバーウィンドウを作成するパラメータです。あなたは、ファイルの合計サイズを照会し、独自の進捗バーを実装するために、ダウンロードを通じてその進捗状況を取得したい場合
はしかし、このプロセスは少し複雑になります。ダウンロードのprogress-changedイベントを処理し、変更された進行中のバイト数をパーセンテージに変換し、そのパーセンテージをプログレスバーに適用するイベントハンドラを作成する必要があります。次に、ダウンロードコードが表示されます以下のような:
Dim url As String = "https://www.dropbox.com/s/gg3ocih2dv3t3lg/adwcleaner_6.020.exe?dl=0"
Dim savePath As String = "C:\Users\llexl\Desktop\adwcleaner_6.020.exe"
Dim download As New WebClient()
AddHandler download.DownloadProgressChanged, AddressOf Download_ProgressChanged
download.DownloadFileAsync(New Uri(url), savePath)
そして、あなたの進捗状況-変更ハンドラ:
Public Sub Download_ProgressChanged(ByVal sender As Object, ByVal e As System.Net.DownloadProgressChangedEventArgs)
Try
ProgressBar1.Value = CInt(Math.Round((e.BytesReceived/e.TotalBytesToReceive) * 100, 0, MidpointRounding.AwayFromZero))
Catch ex As Exception
Debug.Print(ex.ToString)
End Try
End Sub
しかしdownloadprogressオブジェクトは、ファイルの先頭にあるデータに依存からあなたは、ファイルの合計サイズを取得することができるかどうか、そう常にそこから返される数字はありません。進捗率の計算に使用するために、ダウンロードする前にファイルのサイズを取得するために使用する代替関数を調べる必要があるかもしれません。私はdropboxには、その種類の情報を取得するために使用できるAPIがあると信じています
あなたの質問が何であるかを明確にすることはできますか?それはまだ明らかではない。 –