У меня есть приложение, которое сканирует сеть, которая ищет фильмы, их названия, длину и время последнего доступа. Поскольку в сети много компьютеров, это может занять некоторое время, и я хотел бы обновить свой список в режиме реального времени. Вот что я до сих пор, но не работаю вообще.Как сделать обновление списка в режиме реального времени в C#
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);
}
Является ли это WPF или WinForms? Также вы можете подтвердить, что PopulationListView() фактически вызывается во время выполнения? –
@Greg Это WinForms - SuspendLayout \ ResumeLayout. –
Правильно, его в WinForms –