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

    [VB.net 2005] Multithreading e ListView

    Ho un programma che, a partire da alcuni dati inseriti dall'utente, con un ciclo for li elabora e crea un ListViewItem che viene aggiunto a un ListView. Il fatto è che finché non ha finito l'interfaccia utente non risponde, e dato che sul mio computer impiega quasi un minuto avrei voluto fare in modo che tutto il lavoro di elaborare i dati, creare i ListViewItem e aggiungerli al ListView fosse eseguito in un altro thread, ma non sono molto ferrato in questo campo così scopro che un'operazione del genere non è eseguibile da un thread all'altro.
    Ma allora in questi casi come si fa?
    «Sogno gente giusta che rifiuti di esser preda di facili entusiasmi e ideologie alla moda...»
    (Lucio Battisti, 1980)

  2. #2
    Allora provo a spiegarti come fare in poche parole:

    AVVIO: fai una funzione che crea un nuovo thread e lo avvia chiamando il delegate che chiamiamo [CreateItemCollection]

    Nella [CreateItemCollection] metti il tuo ciclo for e dai come risultato di tutto una collezione di ListViewItem

    Al ritorno dal thread, carichi la collezione nella ListView mettendo all'inizio un BeginUpdate e in fondo un EndUpdate.

    Tutto fatto

    Spero di essermi spiegato...

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.