Mar*_*elo 6 .net c# backgroundworker visual-studio
我正在使用同时运行的5个BackgroundWorker对象用于特定目的,并且所有这些对象都必须更改相同的标签.我怎么做?
如何从多个线程修改表单呢?如果我想更改公共字符串,我该怎么做?
Rob*_*obC 17
将Control.Invoke与委托一起使用.
在你的后台工作线程中,而不是说
label4.Text = "Hello";
Run Code Online (Sandbox Code Playgroud)
说
label4.Invoke(new Action(() =>
{
label4.Text = "Hello";
}
));
Run Code Online (Sandbox Code Playgroud)
{}内的所有内容都在控件的线程上执行,因此您可以避免异常.
这允许您从而BackgroundWorker不仅仅是报告进度来对用户界面进行任意更改.
| 归档时间: |
|
| 查看次数: |
8214 次 |
| 最近记录: |