Oppure

Loading
13/03/13 17:02
gllobal
Ciao a tutti, sapete dirmi come posso fare eseguire una progress bar marquee durante un'operazione? In poche parole devo caricare dei dati da un file all'altro e serve molto tempo, quindi ho pensato di inserire una progress bar ma non so come fare, le windows form le ho iniziate a studiare poche settimane fa e la progress bar non l'abbiamo ancora trattata, ho cercato delle guide in internet ma sono tutte in inglese e ne capisco una parte. Grazie ciao :)
aaa
13/03/13 18:10
Uno sciame di API
Per inserire una progressbar vai nel Toolbox e seleziona appunto progressbar, dopo che l'hai inserita nel form vai nelle sue proprietà selezioni style>Marquee
A questo punto, dopo che compili ed esegui il software vedrai che la progressbar farà quello che vuoi tu (se ho capito bene il tuo problema :) ).
aaa
13/03/13 19:05
gllobal
si fino a qua ci sono ;) , il problema è che la progressbar si ferma appena inizia l'operazione vera e propria, cioè appena il programma inizia a copiare i dati dal file excel e li inserisce nel file .vcf la progressbar si ferma, io ho pensato di creare un'altro thread da eseguire durante l'operazione principale ma non so come fare, anzi mi sono venute in mente alcune idee ma non funzionano, perchè come detto sono un principiante alle prime armi, a scuola non ci hanno insegnato il multithreading ne le progressbar, abbiamo iniziato a programmare in ambiente windows da 2 settimane ma non abbiamo fatto quasi niente quindi io in questo momento sperimento varie cose sperando che funzionino. :D :D :D
Io ho provato una cosa così:
Thread t = new Thread(new ThreadStart(pgBar.Show));
t.start();

Nelle proprietà della progeressbar ho messo visible a false.
aaa
13/03/13 20:49
GN
Per quanto ne so il tuo ragionamento del multithreading è giusto ma devi eseguire su un nuovo thread la tua operazione di copia, e non quella della progressbar, tipo così:
Thread t = new Thread(new ThreadStart(copiaDati())); 
t.start(); 
aaa
14/03/13 7:40
gllobal
ok grazie, in effetti è più logico, adesso provo e ti faccio sapere :)
aaa
14/03/13 20:11
gllobal
ok, funziona GRAZIE :), solo che adesso non so come fermare la progressbar quando termina il thread della funzione. :-?:-?:noway:
aaa
17/03/13 17:38
GN
Uhm se non mi sbaglio di solito nei form windows le progress bar marquee non si fermano, di solito si chiude il form... potresti nasconderla con pgBar.Hide() (poi forse la si può anche fermare ma non saprei come).
aaa
18/03/13 0:18
gllobal
io la devo fermare quando termina il thread della funzione, all'interno del thread della funzione nn posso mettere un'istruzione che nasconda la progressbar visto che quest'ultima non è stata creata in quel thread, se invece la metto nello stesso thread dove è stata creata questa compare e scompare, perchè dopo aver creato la barra viene eseguita l'istruzione che la nasconde. Mi scuso se non mi sono spiegato bene. ;) Grazie per i vostri aiuti. :k: mi serve per un programma che devo finire entro questa settimana, perchè devo scrivere anche tutta la documentazione sulle caratteristiche del programma, la parte della progressbar si può anche sorvolare però ci tengo a metterla, almeno così chi utilizzerà il programma non penserà che si sia impallato e in più imparerò come utilizzarla per i futuri programmi. :k:
aaa