Mam problem, pod event DownloadProgressChanged podpiąłem skrypt do wypakowywania pliku, gdy wartość tego eventu wynosi 100 (Czyli plik jest już pobrany). Niestety następująca bramka :
if( ProgressBar.Value == 100)
{
//Wypakowanie pliku
}
uruchamiana następująco:
webClient.DownloadProgressChanged +=(sender, e)=> ProgressBar_ProgressChanged(sender, e, name);
webClient.DownloadFileAsync(url,$"{ System.IO.Path.GetTempPath()}\\{name}");
Nie działa poprawnie, to znaczy wypakowywanie pliku uruchamia się dwa razy(Sprawdzałem na debuggerze, za drugim razem wartość jest również 100) i wtedy wyskakuje wyjątek mówiący o tym, że plik już jest używany.
W jaki sposób mogę poprawić tą bramkę, lub ograniczyć ilość uruchomień tego eventu (Wedlug mnie jeśli jest wartość 100 to nie powinno już uruchamiać się to drugi raz, bo sam event odpala się gdy wartość się zmienia, a jeśli była 100 a po ,,zmianie" nadal jest 100 to coś jest nie tak).