Actualizar etiqueta de otro hilo [duplicado]

Esta pregunta ya tiene una respuesta aquí:

Edición de control de Winforms entre hilos [duplicado] 1 respuesta

Uso un hilo escrito en otra clase para actualizar una etiqueta. La etiqueta es contenido en la clase Winform Main.

 Scanner scanner = new Scanner(ref lblCont);
 scanner.ListaFile = this.listFiles;
 Thread trd = new Thread(new ThreadStart(scanner.automaticScanner));
 trd.IsBackground = true;
 trd.Start();
 while (!trd.IsAlive) ;
 trd.Join();

Como puedes ver, paso la referencia de la etiqueta al constructor de la segunda clase. En la segunda clase (escáner) tengo un método llamado "automaticScanner" que debería actualizar la etiqueta con este código:

public Scanner(ref ToolStripStatusLabel _lblContatore)
{
        lblCounter= _lblContatore;
}
Thread threadUpdateCounter = new Thread(new ThreadStart(this.UpdateCounter));
threadUpdateCounter.IsBackground = true;
threadUpdateCounter.Start();
while (!threadUpdateCounter .IsAlive) ;
threadUpdateCounter.Join();

private void AggiornaContatore()
{
  this.lblCounter.Text = this.index.ToString();        
}

Recibí este error al actualizar la etiqueta:

La operación de subprocesos cruzados no es válida: Control 'Principal' al que se accede desde un subproceso distinto del subproceso en el que se creó

Uso .net 4 con Winform C #.

Muchas gracias por las respuestas.

Noticias: El problema es esta línea:

trd.Join();

Esta línea bloquea mi GUI y la etiqueta no se actualizó. ¿Existen métodos para controlar el acabado del hilo y actualizar la etiqueta hasta el final? Gracia

Respuestas a la pregunta(3)

Su respuesta a la pregunta