C # InvalidOperationException Y operación de subproceso [duplicado]

Esta pregunta ya tiene una respuesta aquí:

Operación de subprocesos no válida: control al que se accede desde un subproceso distinto del subproceso en el que se creó 20 respuestas

En mi formulario de Windows tengo un cuadro de texto y un botón, el cuadro de texto "tb_LogBox" es un cuadro de texto multilínea. Estoy intentando crear un trabajador de fondo que se supone que debe llamar a una función, es decir, "LogTimer.DnT ()" cuando compilo y ejecutarlo Visual Studio lanza InvalidOperationException.

El error real. Estoy obteniendo una operación de hebras cruzadas no válida: control 'tb_LogBox' al que se accede desde una secuencia diferente a la secuencia en la que se creó. El siguiente código de ejemplo ilustra lo que estoy tratando de hacer

private void button1_Click(object sender, EventArgs e)
{
    try
    {
        var bw = new BackgroundWorker();
        bw.DoWork += ExecuteOperations ;
        bw.RunWorkerAsync();
    }
    catch (Exception ex)
    {
        tb_LogBox.AppendText(Environment.NewLine + " =@= " + ex.Message+" "+ex.Source);
    }
}

private void ExecuteOperations(object sender, DoWorkEventArgs e)
{
    var FuncCall = new LogTimer();
    tb_LogBox.AppendText(Environment.NewLine + FuncCall.DnT()); // the line i am getting the error. on 
}

public class LogTimer
{
    public string DnT()
    {
        const string datePat = @"d/MM/yyyy";
        var dateTime = DateTime.Now();
        return dateTime.ToString(datePat);
    }
}

Respuestas a la pregunta(6)

Su respuesta a la pregunta