Task.Factory.StartNew(() =>
{
myload(max_id);
}).ContinueWith((t) => {
result.Text = "saved!";
result.ForeColor = System.Drawing.Color.Green;
}, TaskScheduler.FromCurrentSynchronizationContext());
private void myload(int max_id)
{
int i = 1;
while(i <= max_id)
{
filename = path_tosave + "/" + i + ".png";
loadurl = lurl + i + ".png";
WebClient webClient = new WebClient();
webClient.DownloadFileCompleted += download_completed;
webClient.DownloadFileAsync(new Uri(loadurl), filename);
i++;
}
}
var tasks = new List<Task>();
for(var i=0;i<3;i++){
tasks.Add(Task.Run(()=>{
myload(from, till); // метод изменить, чтобы он индексы от и до принимал
}));
}
Task.WaitAll(tasks.ToArray());
// тут кусок кода после завершения всех