Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    [Vb.net 2005] - Gestire i tempi di attesa di un elaborazione

    Ho creato un programma che legge dei file di testo e carica tutti i listini in un datagridview, il programma funziona correttamente ma poichè i dati da caricare sono tanti succede che per quella frazione di secondi il programma pare come si impallasse (non si vedono le icone ecc...) ma non è così perchè dopo aver terminato la lettura di tutti i file il programma funziona bene. Adesso la mia domanda per una questione di eleganza diciamo come posso creare una sorta di progress bar per le operazioni che richiedono più tempo senza avere quella fastidiosa sensazione di impallo? thanks

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Usa un altro thread per effettuare quelle operazioni ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    mi spiegheresti meglio come fare? o dove trovare un piccolo tutorial perchè sono autodidatta e questo thread non mi dice niente purtroppo... :-( perdonami...

  4. #4
    Ciao..non ho capito 1 cosa: il tuo problema è il finto "blocco" dell'applicazione o vuoi mettere una progressbar?
    Perchè sono 2 cose diverse....
    Cmq per risolvere il finto "blocco" potresti provare ad inserire:
    codice:
    Application.DoEvents
    Per la progressbar, fai una ricerca su Internet che sicuramente troverai come fare..

    Ciao

  5. #5
    Il problema è che tu elabori quei dati nello stesso thread del form.

    Cerca su Internet: MultiThreading (ti dico di cercare perchè è un discorso molto vasto per poter essere discusso in un forum a mio parere)

  6. #6
    Utente di HTML.it
    Registrato dal
    Jul 2007
    Messaggi
    134
    guarda se alla fine di una progress bar reale e concreta nn te ne infischia puoi far così (non sarà professionale ma l'effetto è più che accettabile):

    1) metti una picturebox nella tua form e come "image" metti una GIF che rappresenti qualcosa che carica... che so, un ingranaggio che gira ad esempio... e setti visible = false
    2) quando chiami la funzione "impallatrice" penso che questa sarà strutturata magari con dei for o delle iterazioni... allora, prima istruzione della funzione è picturebox1.visible = true, poi prendi dei punti particolari dove inserisci "application.doEvents" (posti ideali sono ad esempio all'interno di un ciclo... come ultima operazione della funzione setti nuovamente picturebox1.visible=false

    mi sn spiegato bene?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.