lunedì 15 maggio 2023

C# Operazione cross-thread non valida: è stato eseguito l'accesso al controllo 'TxtLog' da un thread diverso da quello da cui è stata eseguita la creazione.

Durante la scrittura del codice, può capire in fase di esecuzione di un applicazione di tipo "Windows Forms", di visualizzare un messaggio di errore, del tipo "Operazione cross-thread non valida: è stato eseguito l'accesso al controllo 'TxtLog' da un thread diverso da quello da cui è stata eseguita la creazione."
Questo perchè ci sono dei thread attivi, una delle possibile soluzione, può essere quella di utilizzare il metodo invoke del controllo dove si verifica l'errore.
Di seguito un esempio di frammento di codice.

TxtLog.Invoke(new Action(delegate () {
                TxtLog.Text   += "\r\t cancellazione " + e.FullPath;
            }));

Nessun commento: