是不是在子线程(非主线程)的代码里用了label5啊?
这样是不行的,因为label5是主线程实例化创建的,子线程不能访问它.
建议 LZ 换一种解决方案来实现你的功能需求.
例子。
private delegate void TestDelegate();
private void DelegateMethod(){
////label......
}
private void StartMethod(){
if (this.InvokeRequired){
this.Invoke(new TestDelegate(DelegateMethod))
}
else
{
this.textbox.Text = value;
}
}
private button_click(...){
Thread thread = new Thread(new ThreadStart(StartMethod));
thread.Start();
}
本文探讨了在非主线程中尝试直接访问由主线程创建的UI元素(如Label)时遇到的问题,并提供了一个示例性的解决方案。通过使用委托调用的方式确保所有UI更新操作都在主线程中执行。
986

被折叠的 条评论
为什么被折叠?



