Fixed cross thread bug

This commit is contained in:
Janco Kock
2015-11-01 14:07:09 +01:00
parent a6514189b0
commit 93f9879c14
+15 -3
View File
@@ -77,15 +77,27 @@ namespace MusicPlayer
{ {
BackgroundWorker b = o as BackgroundWorker; BackgroundWorker b = o as BackgroundWorker;
ImageList imagelist = new ImageList(); ImageList imagelist = new ImageList();
List<string> templist = new List<string>();
Action action = () =>
{
foreach (ListViewItem item in form.AlbumListView.Items) foreach (ListViewItem item in form.AlbumListView.Items)
{ {
imagelist.Images.Add(item.ToString(), api.getAlbumCover(item.Text)); templist.Add(item.Text);
Console.WriteLine(item.Text);
} }
Action action = () => { };
form.Invoke(action);
foreach (string item in templist)
{
imagelist.Images.Add(item, api.getAlbumCover(item));
}
action = () => {
form.AlbumListView.LargeImageList = imagelist; form.AlbumListView.LargeImageList = imagelist;
foreach (ListViewItem item in form.AlbumListView.Items) foreach (ListViewItem item in form.AlbumListView.Items)
{ {
item.ImageKey = item.ToString(); item.ImageKey = item.Text;
} }
}; };
form.Invoke(action); form.Invoke(action);