我正嘗試從服務器下載帶有webclient的文件。這工作非常好。但是,當我嘗試在進度條中顯示下載進度時,它不會讓我看到任何進度。Webclient進度不會顯示在進度條中
我試圖下載該文件與DownloadFileAsync - 方法有一個自己的線程,以防止性能問題或凍結。
我宣佈任何潛艇或事件以外的Web客戶端:
private WebClient updateDownloader = new WebClient();
這看起來像在Form.Shown - 活動:
updateDownloader.DownloadFileAsync(new Uri(UriGoesHere), PathToSave);
它是try塊。
我創造了這樣的一個子顯示進度的進度:
private void ProgressChanged(object sender, DownloadProgressChangedEventArgs e)
{
progressBar1.Value = e.ProgressPercentage;
}
在表負載 - 活動我創建的事件處理程序:
updateDownloader.DownloadProgressChanged += new DownloadProgressChangedEventHandler(ProgressChanged);
這應該工作在理論,但它沒有,我已經訪問MSDN,看到一些信息,只有一些方法正在工作,但實施這並沒有幫助。
它從來沒有達到這一個。我究竟做錯了什麼?如果你需要更多的代碼部分,告訴我。
閱讀【答案】(http://stackoverflow.com/questions/9459225/asynchronous-file-download-with-進度條)。這個好樣品。 –
Mr.kto不幸的是,這並沒有幫助,因爲這個線程中的操作只是遇到了凍結的問題,但是當他修復這個問題時,他可以看到進度。我想,我的代碼幾乎是一樣的,但我找不到錯誤。我想,我完全失明瞭,因爲我現在正在處理一小時以後的事情。 –
什麼是文件大小?它太大了嗎?或連接速度緩慢?你可以試試這個label1.Text = e.BytesReceived.ToString();在你的ProgressChanged事件中,看看你是否得到任何結果! –