如何从线程中设置组件属性而不在C#中引发错误
本文关键字:错误 属性 线程 设置 组件 | 更新日期: 2023-09-27 18:19:47
我有一个用户界面,它需要由运行在backgroundworker
(与主线程不同的线程)中的函数更新。
我希望有效地能够在不引发异常的情况下完成以下操作:
private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
{
MyProgresssbar.value = val;
MyLabel.text = "Still going...";
}
例如,是否可以编写一个委托函数来设置组件属性(我不希望每次属性更改都有一个函数)。
提前谢谢。
您应该使用BackgroundWorker内置的进度报告功能。
作为一个更通用的答案,您可以通过调用在UI线程中运行代码(aynchronly)
someControl.BeginInvoke(new Action(delegate { ... }));