// Very ugly, todo: move parts of this to the downloader class private void downloader_OnDownloadComplete(bool successfully) { var list = new object[listBoxTracks.SelectedItems.Count]; for (int i = 1; i < listBoxTracks.SelectedItems.Count; i++) { list[i - 1] = listBoxTracks.SelectedItems[i]; } listBoxTracks.SelectedItems.Clear(); foreach (var track in list) { listBoxTracks.SelectedItems.Add(track); } if (listBoxTracks.SelectedItems.Count == 0) { listBoxTracks.SelectedItems.Clear(); MessageBox.Show(lang.GetString("download/done")); EnableControls(true); return; } downloader.Download(((TrackItem)listBoxTracks.SelectedItems[0]).Track); }