Why do I get at "ListViewItem lviFile = lvFiles.Items[i];" a cross-thread error, even if I use DoWorkEventArgs e for the ListView argument?
private void btUpload_Click(object sender, EventArgs e)
{
    bwUpload.RunWorkerAsync(lvFiles);
}
private void bwUpload_DoWork(object sender, DoWorkEventArgs e)
{
    ListView lvFiles = (ListView)e.Argument;
    for (int i = 0; i < lvFiles.Items.Count; i++)
    {
        ListViewItem lviFile = lviFile.Items[i];
        ...
    }
}
 
     
     
    