private void OnDownloadDataCompleted(object sender, DownloadDataCompletedEventArgs e)
{
progressDownload.Value = progressDownload.Maximum;
progressDownload.Update();
TestFileInfo requestedFile = (TestFileInfo)e.UserState;
byte[] data = e.Result;
// Вычисляем MD5 хеш скачанных данных чтобы убедиться что файл скачался без ошибок
MD5CryptoServiceProvider md5svc = new MD5CryptoServiceProvider();
byte[] hashBytes = md5svc.ComputeHash(data);
string hash = ByteArrayToString(hashBytes);
if (requestedFile.MD5Hash.Equals(hash, StringComparison.OrdinalIgnoreCase))
MessageBox.Show("Успех!", "Загрузка файла", MessageBoxButtons.OK, MessageBoxIcon.Information);
else
MessageBox.Show("Ошибка!", "Загрузка файла", MessageBoxButtons.OK, MessageBoxIcon.Error);
}