PDA

View Full Version : سوال: دانلود چند فایل با progressbar



sina_rzv2
جمعه 06 شهریور 1394, 02:26 صبح
سلام من 10 دانلود را در یک آرایه قرار دادم و میخوام برای دانلود این ها از 2 progressbar استفاده کنم که اولی برای دانلود هر فایل استفاده بشه و دومی برای کل دانلود ها.
برای اولی از کد زیر استفاده کردم که به درستی کار میکنه

WebClient webClient;
try
{
int i = 1;
foreach (var s in newspaper)
{




webClient = new WebClient();
webClient.DownloadFileCompleted += new AsyncCompletedEventHandler(Completed);
webClient.DownloadProgressChanged += new DownloadProgressChangedEventHandler(ProgressChange );
webClient.DownloadFileAsync(new Uri(s.ToString()), textBoxDir.Text + "/" + i.ToString() + ".jpg");
label3.Text = "تعداد فایل دانلودی: " + i;
i++;
}

}
catch (Exception ex)
{


MessageBox.Show(ex.Message);
}
private void ProgressChanged(object sender, DownloadProgressChangedEventArgs e)
{
progressBar1.Value = e.ProgressPercentage;
}


مشکل اینجاست که اول کدهای درون حلقه اجرا میشه و بعد شروع به دانلود میکنه. برای همین label3 درون کد به سرعت پر میشه و بعد دانلود فایل ها آغاز می شود.
چطور میشه کاری کرد که بعد از اجرای حلقه برای بار اول وقتی دانلود فایل اول تموم شد حلقه تکرار بشه؟ و چطور میتونم progressbar واسه کل دانلود ها بذارم؟
اگه نمونه ای هم از این کار بهم معرفی کنید ممنون میشم.
با تشکر