title: How do I make cross-threaded calls to a ToolStripStatusLabel?
body: <p>I tend to use a StatusStrip at the bottom of most of my applications for simple status updates and occasionally a progress bar. </p>
  
  <p>However, it appears ToolStripStatusLabels do not inherit from control, so they have no .Invoke, or .InvokeRequired. So how would I thread-safe make a call to change it's text property?</p>
  
  <p>Coded answers for posterity and others that come searching:</p>
  
  <pre><code>Action&lt;string&gt; test=(text) =&gt;
              {
                  if (this._statusStrip.InvokeRequired) this._statusStrip.Invoke(
                 new MethodInvoker(() =&gt; this._lblStatus.Text = text));
                  else this._lblStatus.Text = text;
              };
  </code></pre>
  
  <p>or</p>
  
  <pre><code>private void TestInvoker(string text)
      {
          if (this._statusStrip.InvokeRequired) 
              this._statusStrip.Invoke(
                     new MethodInvoker(() =&gt; this._lblStatus.Text = text));
          else this._lblStatus.Text = text;
      }
  </code></pre>