C # InvalidOperationException UND Cross-Thread-Vorgang [duplizieren]

Diese Frage hat hier bereits eine Antwort:

Threadübergreifender Vorgang nicht gültig: Auf das Steuerelement wurde von einem anderen Thread als dem Thread zugegriffen, für den es erstellt wurde 20 Antworten

In meinem Windows-Formular habe ich ein Textfeld und eine Schaltfläche, das Textfeld "tb_LogBox" ist ein mehrzeiliges Textfeld. Ich versuche, einen Hintergrund-Worker zu erstellen, der beim Kompilieren eine Funktion aufrufen soll, z. B. "LogTimer.DnT ()" und starte es Visual Studio löst InvalidOperationException aus.

Der tatsächliche Fehler, den ich erhalte, ist ungültig: Auf das Steuerelement 'tb_LogBox' wurde von einem anderen Thread als dem Thread zugegriffen, für den es erstellt wurde. Der folgende Beispielcode veranschaulicht, was ich versuche, zu tun

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);
    }
}

Antworten auf die Frage(6)

Ihre Antwort auf die Frage