每当我尝试在C#程序中设置/更改标签的值时,都需要帮助,发生错误,提示我需要对所有线程进行交叉处理。任何人都可以编写一些代码来帮助我吗?
我的代码是:
int number = 0;
int repeats = Convert.ToInt32(textBox2.Text);
while (number < repeats)
{
repeats++;
label5.Text = "Requested" + repeats + "Times";
}
谁能帮我?
谢谢。
最佳答案
尝试以下操作来更新值
label5.Invoke((MethodInvoker)(() => label5.Text = "Requested" + repeats + "Times"));
Invoke方法(来自
Control.Invoke
)将使传入的委托(delegate)在给定Control
所关联的线程上运行。在这种情况下,它将导致它在您的应用程序的GUI线程上运行,从而使更新安全。关于c# - 使用C#交叉线程设置标签的值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2172467/