nimazione durante operazione runtime [VB 2008 .net]

domenica 20 febbraio 2011 - 13.52
Tag Elenco Tags  VB.NET  |  .NET 3.5  |  Windows XP  |  Visual Studio 2008

anza Profilo | Newbie

Ciao a tutti,
voglio inserire nella mia applicazione un'animazione che indica lo scaricamento di un file da internet tramite ftp.

Ho provato ad inserire una gif animata ma durante l'operazione non viene visualizzata o rimane ferma.

Avete un'alternativa o un consiglio ?

ma_di Profilo | Junior Member

>Ciao a tutti,
>voglio inserire nella mia applicazione un'animazione che indica
>lo scaricamento di un file da internet tramite ftp.
>
>Ho provato ad inserire una gif animata ma durante l'operazione
>non viene visualizzata o rimane ferma.
>
>Avete un'alternativa o un consiglio ?
>
>
Ciao.
Non ho mai realizzato un trasferimento in FTP, ma ho avuto necessità di trasferire dei file con grossi impegni di tempo.
Prova a guardare questo se può esserti utile:
My.Computer.FileSystem.CopyFile(sorgente, destinazione, FileIO.UIOption.AllDialogs)
dovrebbe visualizzarti la gif di copia di windows.

anza Profilo | Newbie

Ciao e grazie della risposta, ma forse mi sono spiegato male.
Il codice per scaricare il file è solo un esempio . Volevo sapere come sia possibile utilizzare le gif animate o filmati senza che il programma quando è in esecuzione ne alteri la velocità,

Esempio quando l'antivirus scarica gli aggiornamenti viene visualizzata un icona animata sempre in movimento.

ma_di Profilo | Junior Member

>Ciao e grazie della risposta, ma forse mi sono spiegato male.
>Il codice per scaricare il file è solo un esempio . Volevo sapere
>come sia possibile utilizzare le gif animate o filmati senza
>che il programma quando è in esecuzione ne alteri la velocità,
>
>Esempio quando l'antivirus scarica gli aggiornamenti viene visualizzata
>un icona animata sempre in movimento.
Cercando qui e la ho trovato questo: http://www.dotnethell.it/Forum/messages.aspx?ThreadID=36703
Non so se fa il caso tuo, ma forse può essere di spunto.
Ciao

anza Profilo | Newbie

Sto dando un'occhiata al controllo BackgroundWorker

luigidibiasi Profilo | Guru

Ciao,

una soluzione potrebbe essere far girare la gif nel thread principale e creare un thread separato per il trasferimento dei dati.

Al termine del trasferimento il thread invocherà un methodinvoker sul thread principale segnalando la fine del trasferimento e quindi nascondendo la gif.


Luigi Di Biasi


http://www.dibiasi.it/
http://netsell.dibiasi.it - ecomm software -
http://blogs.dotnethell.it/luigidibiasi/

anza Profilo | Newbie

Ciao Luigi e grazie della tua risposta interessante.
Sono alle prime armi, non sapresti indicarmi un esempio di codice da poter studiare ?

Qwertj Profilo | Newbie

Prova qua, dettagliata spiegazione del Multithreading:
http://totemslair.org/guide/viewchapter.php?guida=vb&id=87

Secondo me potresti fare un cosa del genere


Sub DoSomething() FormGIF.Show() 'Per non far bloccare lo show della finestra, chiami il DoEvents Application.DoEvents() '... '... 'fai le tue operazioni '... '... FormGIF.Close()

La form avrà una picturebox vuota, e poi tramite un BackgroundWorker gli carichi la GIF.
O ancora meglio, crei la picturebox direttamente nel thread separato, con la GIF dentro


Se la conoscenza crea problemi, non è con l'ignoranza che si risolvono [Isaac Asimov]
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2017
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5