我想向用户显示带有缩略图和音乐标题的音乐项目,但它无法按我的预期工作。我有相同的代码和不同的列表,它在那里工作,但不知何故它不适用于此代码。
代码不起作用:
form1.playlist_music_list.Items.Clear();
form1.playlist_music_list.Columns.Add(" ", 400);
form1.playlist_music_list.View = View.Details;
ImageList thumbnailImageList = new ImageList();
thumbnailImageList.ImageSize = new Size(180, 101);
foreach (var musicItem in musicitemstoadd)
{
thumbnailImageList.Images.Add(musicItem.Image);
ListViewItem item = new ListViewItem(musicItem.Title);
item.ImageIndex = thumbnailImageList.Images.Count-1;
item.Tag = musicItem.VideoId;
form1.playlist_music_list.Items.Add(item);
}
(musicitemstoadd和image都没有问题。(添加musicitemstoadd作为下面工作方法的参数。例如)internal_playlist(musicitemstoadd, video_id))(还检查了使用picturebox是否正确添加了图像,并且显示良好)
有效的代码:
internal async void internal_playlist(List<Playlist_Music_Items> playlist, String sel_videoid)
{
form1.Inplay_playlist.Clear();
form1.Inplay_playlist.Columns.Add(" ",400);
form1.Inplay_playlist.View = View.Details;
ImageList thumbnailImageList = new ImageList();
thumbnailImageList.ImageSize = new Size(180, 101);
foreach (var musicItem in playlist)
{
thumbnailImageList.Images.Add(musicItem.Image);
ListViewItem item = new ListViewItem(musicItem.Title);
item.ImageIndex = thumbnailImageList.Images.Count - 1;
form1.Inplay_playlist.Items.Add(item);
}
form1.Inplay_playlist.SmallImageList = thumbnailImageList;
}
我已经检查了所有组件(标题、图像、ID 等)运行良好。但它只显示标题,而不是我期望的图像。
我忘记设置图像列表 form1.playlist_music_list.SmallImageList=thumbnailImageList;