You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ListView中音乐项缩略图无法显示问题求助

ListView无法显示音乐缩略图的问题排查与修复

问题核心

要在ListView中展示音乐项的缩略图和标题,其中一段代码无法实现预期效果,但逻辑相似的另一段代码正常运行。已确认musicitemstoadd集合及图片本身无问题(通过PictureBox验证图片可正常显示),对比两段代码后发现,无效代码未将创建的ImageList绑定到ListView的SmallImageList属性。

无效代码

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);
}

有效代码

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;
}

问题原因与修复方法

两段代码的核心差异在于有效代码最后将创建的thumbnailImageList赋值给了ListView的SmallImageList属性,而无效代码缺少这一步。

ListView要显示项的图片,必须明确指定图片来源的ImageList:

  • 在Details视图下,项的图标由SmallImageList提供
  • 只有将ImageList绑定到对应的ListView属性后,ListView才能根据ImageIndex找到对应的图片

修复无效代码只需在循环结束后添加绑定语句:

// 循环结束后添加这一行
form1.playlist_music_list.SmallImageList = thumbnailImageList;

内容的提问来源于stack exchange,提问作者Base Night

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.24 05:48:16