Поместите это в рабочий цикл BGW после вызова ReportProgress:
System.Threading.Thread.Sleep(15);
Вероятность того, что вы теперь увидите обновление ListView, хорошая.Здесь происходит то, что поток пользовательского интерфейса заполняется запросами на делегирование.Которые всегда отправляются до уведомления краски.Если запрос на next поступает до того, как предыдущий завершил работу, он никогда не сможет выполнить обычные служебные задачи.Люблю рисовать и реагировать на ввод.Элементы действительно добавляются в представление списка, вы просто не видите, как это делается.
Реже вызывайте ReportProgress.Делать это более 25 раз в секунду - пустая трата ресурсов, и никто не может увидеть разницу.Позвольте BGW сохранить элементы в List <> и сократить накладные расходы потока пользовательского интерфейса, вызвав AddRange ().