Oppure

Loading
Questo topic e' stato chiuso dal moderatore.
26/07/09 12:12
7h3.c0r3
Ragazzi, ho un dubbio.

Come faccio, all'interno di una procedura, a dire di fare qualcosa, quando, succede un evento? Forse non è molto chiaro... Comunque dovrei annullare un download quando vieni cliccato un bottone.
aaa
26/07/09 12:33
theprogrammer
E come lo fai il download?
aaa
26/07/09 12:43
7h3.c0r3
Cosi:

public void DownloadVideo()
        {
            try
            {
                WebClient Wc = new WebClient();
                Uri Url = new Uri(URLCompleto);
                Wc.DownloadFileCompleted += new AsyncCompletedEventHandler(DownloadFileCompleted);
                Wc.DownloadProgressChanged += new DownloadProgressChangedEventHandler(DownloadProgressChanged);
                Wc.DownloadFileAsync(Url, Directory);
                ButtonDownload.Enabled = false;
                ButtonNuovo.Enabled = false;
                ButtonScegliDirectory.Enabled = false;
            }
            
            catch (Exception)
            {
                MessageBox.Show("Problema di connessione o link errato!", "Errore!", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }


Il problema è che "Wc.CancelDownloadAsync" che dovrei usare quando clicco un bottone, non è utilizzabile esternamente alla procedura e non so come fare...
aaa
26/07/09 12:48
theprogrammer
Non puoi farlo perche' hai dichiarato il webclient

WebClient Wc

all'interno. Devi dichiararlo come membro privato della classe in modo da potere cancellare il download tramite un altro pulsante.
aaa
26/07/09 12:58
7h3.c0r3
Scusa ma questa non vale come dichiarazione?
WebClient Wc = new WebClient(); 
aaa
26/07/09 13:02
theprogrammer
Ma e' all'interno della funzione ... e quindi non puoi richiamare la Cancel al di fuori ...
aaa
26/07/09 13:06
7h3.c0r3
No, niente, risolto grazie.
aaa
26/07/09 13:18
theprogrammer
Postato originariamente da 7h3.c0r3:

No, niente, risolto grazie.


Prego ... :-?
aaa