Я пытаюсь выполнить некоторые действия с выбранными элементами в ListView в приложении Windows Forms из фонового потока. У меня есть метод делегата в моем коде, например, так:
private delegate ListView.SelectedListViewItemCollection dlgGetSelectedJobs();
private ListView.SelectedListViewItemCollection GetSelectedJobs()
{
if(listViewJobViewer.InvokeRequired)
{
var dlg = new dlgGetSelectedJobs(GetSelectedJobs);
return listViewJobViewer.Invoke(dlg) as ListView.SelectedListViewItemCollection;
}
return listViewJobViewer.SelectedItems;
}
Это вызывается в другом месте в фоновом потоке, используя следующее:
foreach(ListViewItem job in GetSelectedJobs())
{
// Do stuff
}
Однако всякий раз, когда код входит в foreach l oop Я получаю перекрестное исключение, и я не уверен, почему ... Любая помощь с благодарностью получена!