0
I have a code pad and I need it to run every x
seconds, so I used the class Timer
and passed as parameter the method I want to execute, and the times, start and interval. However the code is popping an exception, accusing System.InvalidOperationException: 'Operação entre threads inválida: controle 'lblTotalEncontrados' acessado de um thread que não é aquele no qual foi criado.'
that controle
lblTotalFind is an attribute of my form, I would like to know how do for the class thread Timer
can change and manipulate all attributes of my form.
Follows the main part of the code:
//Usando a classe Timer Passando a função e os tempos como parâmetro
System.Threading.Timer t = new System.Threading.Timer(TimerCallback, null, 0, 120000);
//Método invocado passado para a classe Timer
public void TimerCallback(Object o)
{
//Todas partes desse bloco de código manipula atributos do formulário que está em outra thread
this.txtQuantidadeHistorico.Text = this.topHistoricoUser.ToString();
this.txtQuantidadeHistorico.Refresh();
ResetLabelTransferidos_Encontrados();
SetTotalFilesInDirectory(directoryInfoSource);
Process(directoryInfoSource);
UpdateTxtUltimos();
}