【发布时间】:2013-10-03 07:04:28
【问题描述】:
我有一个函数 ShowPanel(Control ctrl) 需要将 Control 作为参数传递。
我需要在后台工作线程中调用这个函数。我使用以下代码
void bw_DoWork(object sender,DoWorkEventArgs e)
{
ShowPanel(listBox1);
}
但是执行失败
跨线程操作无效:控件“Form1”从 除了创建它的线程之外的线程
如何在后台线程中传递listBox1?
【问题讨论】:
-
如果在主界面创建listbox1,需要在backgroundworker的progresschangedevent中调用该函数。您需要从 doworkevents 调用 ReportProgress。
标签: c# multithreading winforms backgroundworker