WebClientでダウンロードの進行状況が表示されない。

以下がその問題の部分のコードです。
Private Sub WebClient1_DownloadProgressChanged(sender As Object, e As System.Net.DownloadProgressChangedEventArgs) Handles WebClient1.DownloadProgressChanged
ProgressBar1.Value = e.ProgressPercentage
text1.Text = e.ProgressPercentage.ToString + "%"
End Sub
以前、YouTubeでWebClientを使用したダウンローダーの作り方を紹介した動画を見ながら作ったコードを参考に再度作ったコードですが、今試してみると、プログレスバーにはなにも変化もなく、text1にも%表示がされません。
どこかおかしい部分があるのでしょうか。

回答の条件
  • 1人5回まで
  • 登録:
  • 終了:2011/12/09 11:26:33

ベストアンサー

id:a-kuma3 No.2

回答回数4974ベストアンサー獲得回数2154

DownloadFile メソッドを使ってませんか?
DownloadFileAsync メソッドを使わないと、DownloadProgressChanged イベントが発生しません。

WebClient.DownloadProgressChanged イベント @msdn

非同期ダウンロード操作で、データの一部またはすべてが正常に転送された場合に発生します。


こんなのもありますんで、参考まで。
ファイルをダウンロードし保存する: .NET Tips: C#, VB.NET, Visual Studio

id:hokuto0127

ご回答有難うございます。結局原因がわからず、ダウンロードは1つの経過としての意味なので、手動でプログレスバーを進めるようにしました。

2011/12/09 11:24:16
id:hokuto0127

あのあと、結局原因はわからなかったのですが、最近試してみると正常に動作しました。

2011/12/22 18:20:54

その他の回答1件)

id:freemann No.1

回答回数335ベストアンサー獲得回数55

My.Application.DoEvents

を使ってみてはどうですか?

id:a-kuma3 No.2

回答回数4974ベストアンサー獲得回数2154ここでベストアンサー

DownloadFile メソッドを使ってませんか?
DownloadFileAsync メソッドを使わないと、DownloadProgressChanged イベントが発生しません。

WebClient.DownloadProgressChanged イベント @msdn

非同期ダウンロード操作で、データの一部またはすべてが正常に転送された場合に発生します。


こんなのもありますんで、参考まで。
ファイルをダウンロードし保存する: .NET Tips: C#, VB.NET, Visual Studio

id:hokuto0127

ご回答有難うございます。結局原因がわからず、ダウンロードは1つの経過としての意味なので、手動でプログレスバーを進めるようにしました。

2011/12/09 11:24:16
id:hokuto0127

あのあと、結局原因はわからなかったのですが、最近試してみると正常に動作しました。

2011/12/22 18:20:54

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません