这是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")

10-01 23:37