尝试将图像插入列表视图中的项目

问题描述 投票:0回答:1

我想向用户显示带有缩略图和音乐标题的音乐项目,但它无法按我的预期工作。我有相同的代码和不同的列表,它在那里工作,但不知何故它不适用于此代码。

代码不起作用:

            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 等)运行良好。但它只显示标题,而不是我期望的图像。

c# image winforms listview youtube-api
1个回答
0
投票

我忘记设置图像列表 form1.playlist_music_list.SmallImageList=thumbnailImageList;

© www.soinside.com 2019 - 2024. All rights reserved.