我正在编写一个处理数据库并将任何更改写入 ListView 以供用户处理它们的程序。之后,应该将所有更改写回 DB,但我不知道如何从 BGW 到达 ListView.ListViewItemCollection。我曾尝试使用 Control.Invoke,但我担心我还不够熟练,无法让它发挥作用。
我收到的错误说我无法从不是在其上创建的线程访问该控件
private delegate void BGOUdate(ListView.ListViewItemCollection lvic);
BGOU = new BGOUdate(ApplyChanges);
bgw1.RunWorkerAsync(lvProducts.Items);
private void bgwSearcher_DoWork(object sender, DoWorkEventArgs e)
{
BGOU(e.Argument as ListView.ListViewItemCollection);
}
private void ApplyChanges(ListView.ListViewItemCollection lvic)
{
...
foreach (ListViewItem item in lvic)
{
...
}
...
}