title: C# InvalidOperationException AND Cross-thread operation
body: <p>In my windows form I have a text box and a button, the text box “tb_LogBox” is multiline text box I am trying to create a background worker that is supposed to call a function i.e. “LogTimer.DnT()”  when I compile is and run it Visual studio throws InvalidOperationException.</p>
  
  <p>The actual Error I am getting 
  Cross-thread operation not valid: Control 'tb_LogBox' accessed from a thread other than the thread it was created on. The following sample code illustrate what I am trying to do</p>
  
  <pre><code>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);
      }
  }
  </code></pre>