http://c-sharp-programming.blogspot.com/2008/07/ Cross-thread-operation-not-valid.html” rel=“nofollow” http://c-sharp-programming.blogspot.com/2008/07/ cross-thread-operation-not-valid.html。
我基本上可以看到所发生的事情,但这一行的辛迪加具体地说:
label1.Invoke(del, new object[] { newText });
我感到困惑。 是否有人解释? 当只有一个参数时,我们为什么要为代表使用一个新的目标阵列。
<>未来代码:
delegate void updateLabelTextDelegate(string newText);
private void updateLabelText(string newText)
{
if (label1.InvokeRequired)
{
// this is worker thread
updateLabelTextDelegate del = new updateLabelTextDelegate(updateLabelText);
label1.Invoke(del, new object[] { newText });
}
else
{
// this is UI thread
label1.Text = newText;
}
}