Следующий код не работает, как-то я не могу получить значение Int из «завершенного» метод мой метод btn_Start_Click:Открыть файл после завершения загрузки
private void btn_Start_Click(object sender, EventArgs e)
{
int completedDownload = 0;
WebClient webClient = new WebClient();
webClient.DownloadFileCompleted += new AsyncCompletedEventHandler(Completed);
webClient.DownloadFileAsync(new Uri("http://somesite.com/file.jpg"), @"c:\file.jpg");
if (Completed.completeDownload == 1)
{
//open the file code goes here.
}
//Rest of the code goes here.
//and here
//and here
}
private void Completed(object sender, AsyncCompletedEventArgs e)
{
completedDownload = 1;
}
"Асинхронный" означает "происходит позже". Переместите весь код, который у вас есть после вызова DownloadFileAsync, к методу Completed. Помните, что Completed вызывается потоком threadpool, вам нужно использовать Control.BeginInvoke() для запуска любого кода, который обновляет пользовательский интерфейс. –