我出于某种目的使用同时运行的 5 个 BackgroundWorker 对象,并且所有这些对象都必须更改相同的标签。我怎么做?
那么如何从多个线程修改表单呢?如果我想更改公共字符串,我该怎么做?
将 Control.Invoke 与委托一起使用。
在你的后台工作线程中,而不是说
label4.Text = "Hello";
say
label4.Invoke(new Action(() =>
{
label4.Text = "Hello";
}
));
{ } 内的所有内容都在控件的线程上执行,因此可以避免异常。
这允许您对用户界面进行任意更改BackgroundWorker
而不仅仅是报告进展情况。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)