|
分類:[.NET 全般]
Formのコントロールを
Form以外のスレッドから変更しようとする際に
LabelやTextBoxならInvokeRequiredで私はいつもやってますが
ToolStripMenuItemにはInvokeRequiredプロパティがありません。
別スレッドからToolStripMenuItemのEnabled = true/falseを切り替えたいのですが
スレッドセーフに出来る良い方法はないでしょうか?
delegate void SetLabelCallback(string str1, string str2);
private void SetLabel(string str1, string str2)
{
if (label1.InvokeRequired ||
label2.InvokeRequired)
{
SetLabelCallback d = new SetLabelCallback(SetLabel);
this.Invoke(d, new object[] { str1, str2});
}
else
{
label1.Text = str1;
label2.Text = str2;
}
}
|