【发布时间】:2012-12-19 20:13:28
【问题描述】:
我需要调用这个:string input_ip_r = listView1.Items[lc].SubItems[1].Text;
所以我用了
if (InvokeRequired)
{
this.Invoke(new MethodInvoker(function));
return;
}
这可行,但现在我已将其放入 BackgroundWorker 并使用它
if (InvokeRequired)
{
this.Invoke(new MethodInvoker(bw.RunWorkerAsync));
return;
}
它给出了一个错误,您一次只能运行BackgroundWorker。
那么我如何在Backgroundworker 中调用呢?
【问题讨论】:
-
好吧,我很困惑。 a) 为什么将访问 UI 的代码放在后台工作人员中? b) 您是否尝试在
bw.DoWork内运行bw.RunWorkerAsync? -
什么意思?第一个代码应该从后台线程(调用 UI 线程)运行。第二个代码看起来像是在尝试调用后台线程。
-
字符串需要被调用,我不知道如何在后台工作期间执行此操作,“新 MethodInvoker”尝试第二次运行它
标签: c# background invoke worker