के साथ असीमित फ़ाइल डाउनलोड करें WebClient
प्रगति परिवर्तन डाउनलोड करने के रूप में प्रगति बार की प्रगति परिवर्तन करने का प्रयास कर रहा हूं। यह कोड तब भी फ़ाइल डाउनलोड करता है जब मैं startDownload()
पर कॉल करता हूं, क्योंकि विंडो फ़ाइल को डाउनलोड करता है। मैं चाहता हूं कि उपयोगकर्ता स्प्लैश स्क्रीन लोड के रूप में प्रगति परिवर्तन को देखने में सक्षम हो। क्या इसे ठीक करने का कोई तरीका है ताकि उपयोगकर्ता progressBar2
परिवर्तन की प्रगति देख सके?प्रगति बार
private void startDownload()
{
WebClient client = new WebClient();
client.DownloadProgressChanged += new DownloadProgressChangedEventHandler(client_DownloadProgressChanged);
client.DownloadFileCompleted += new AsyncCompletedEventHandler(client_DownloadFileCompleted);
client.DownloadFileAsync(new Uri("http://joshua-ferrara.com/luahelper/lua.syn"), @"C:\LUAHelper\Syntax Files\lua.syn");
}
void client_DownloadProgressChanged(object sender, DownloadProgressChangedEventArgs e)
{
double bytesIn = double.Parse(e.BytesReceived.ToString());
double totalBytes = double.Parse(e.TotalBytesToReceive.ToString());
double percentage = bytesIn/totalBytes * 100;
label2.Text = "Downloaded " + e.BytesReceived + " of " + e.TotalBytesToReceive;
progressBar1.Value = int.Parse(Math.Truncate(percentage).ToString());
}
void client_DownloadFileCompleted(object sender, AsyncCompletedEventArgs e)
{
label2.Text = "Completed";
}
यदि खिड़की फ्रीज करता है तो इसका मतलब है कि व्यक्ति यूआई थ्रेड पर डाउनलोड कर रहा है जो आपके कोड को तुल्यकालिक और अतुल्यकालिक नहीं करता है। – Joakim
मैं एक पृष्ठभूमि कार्यकर्ता के माध्यम से अतुल्यकालिक चल रहा है 'startDownload() 'को कॉल कर रहा हूं। हालांकि खिड़की को फ्रीज नहीं करना चाहिए, है ना? –
कृपया अपने शीर्षक को "सी #" और इस तरह से उपसर्ग न करें। टैग के लिए यही है। –