这是Windows应用程序中用C#完成的跨线程操作,如何更改它?
最佳答案
您需要使用委托并调用...
private delegate void SetLabelSub(string NewText);
private void SetLabel(string NewText)
{
if (this.InvokeRequired()) {
SetLabelSub Del = new SetLabelSub(SetLabel);
this.Invoke(Del, new object[] { NewText });
} else {
SomeLabel.Text = NewText;
}
}
然后,您可以从任何线程调用
SetLabel("New Text Here")