private void button1_Click(object sender, EventArgs e) { // deux cas: // soit on a fini (téléchargement ou annulation) : on ferme la fenêtre // soit on est en cours de téléchargement : on demande l'annulation // on ne peut pas être en cours d'annulation puisqu'on désactive le bouton if (completed) { DialogResult = cancelled ? DialogResult.Abort : DialogResult.OK; Close(); } else { button1.Enabled = false; cancelled = true; ad.DownloadFileGroupAsyncCancel(groupName); } }