اینکار به راحتی اب خوردن با کلاس webclient میسره..
این کلاس رویدادی داره به نام DownloadProgressChanged که در این رویداد میتونی میزان پیشرف رو بدی به پروگرسبار
private void Form1_Load(object sender, EventArgs e)
{
System.Net.WebClient wc = new System.Net.WebClient();
wc.DownloadProgressChanged += new System.Net.DownloadProgressChangedEventHandler(wc_ DownloadProgressChanged);
wc.DownloadFileAsync(new Uri("http://test.ir/test.rar"), "c:\\test.rar");
}
void wc_DownloadProgressChanged(object sender, System.Net.DownloadProgressChangedEventArgs e)
{
progressBar1.Value = e.ProgressPercentage;
}