私はほとんどのアプリケーションの下部にある StatusStrip を使用して、単純なステータス更新と、場合によっては進行状況バーを使用する傾向があります。
ただし、ToolStripStatusLabels はコントロールから継承されないように見えるため、.Invoke または .InvokeRequired はありません。では、テキスト プロパティを変更するためにスレッド セーフで呼び出しを行うにはどうすればよいでしょうか。
検索に来る後世や他の人のためのコード化された回答:
Action<string> test=(text) =>
{
if (this._statusStrip.InvokeRequired) this._statusStrip.Invoke(
new MethodInvoker(() => this._lblStatus.Text = text));
else this._lblStatus.Text = text;
};
また
private void TestInvoker(string text)
{
if (this._statusStrip.InvokeRequired)
this._statusStrip.Invoke(
new MethodInvoker(() => this._lblStatus.Text = text));
else this._lblStatus.Text = text;
}