У меня есть приложение, которое сканирует сеть в поисках фильмов, их названий, продолжительности и времени последнего обращения. Поскольку в сети много компьютеров, это может занять некоторое время, и я бы хотел обновить свой просмотр списка в режиме реального времени. Вот то, что у меня есть, но оно совсем не работает.
private void PopulateListView()
{
this.listView1.SuspendLayout();
listView1.Items.Clear();
// go thru list of movies to add
foreach (string movie in listviewMovieList)
{
ListViewItem item1 = new ListViewItem(movie);
listView1.Items.AddRange(new ListViewItem[] { item1 });
}
this.listView1.ResumeLayout();
}
Это вызывается моими фоновыми работниками. Метод ProgressChanged:
private void bw_ProgressChanged(object sender, ProgressChangedEventArgs e)
{
string movie = (string)e.UserState;
if (movie != null)
{
listviewMovieList.Add(movie);
PopulateListView();
}
this.progressBar1.Increment(e.ProgressPercentage);
}