Originariamente inviato da jasson
Ma se in quei 15 secondi esegue il cilo for each , quindi esegue le istruzione per elaborare il nome, e l'indirizzo del file, esegue l'istruzione per copiare il file, dovrebbe eseguire anche le altre istruzioni che ci stanno in mezzo al codice.
Le esegue, ma aggiornare una textbox non implica un ridisegno; anche se forzi ridisegno della textbox comunque tutta la gestione dei messaggi di finestra è ferma, per cui tutto quello che ottieni è che (forse) cambia la textbox e tutto il resto dell'interfaccia resta bloccata.
Ribadisco, la soluzione più corretta è usare un thread separato (avendo cura di usare Control.Invoke per manipolare la GUI dall'altro thread, dato che i controlli Windows Forms non sono thread-safe, oppure usare un BackgroundWorker, che dovrebbe gestire la faccenda in maniera anche più semplice).