显示图片框列表中的图像

Displaying images from a picturebox list

我想在我的程序中显示一行图片。但是我遇到了一个问题,它只显示图像列表中的第一张图像并且只显示一个图像框。

Private Cards As New List(Of PictureBox)
  Private Sub SetupCards()

    For i As Integer = 0 To imglist1.Images.Count - 1
        Dim PicCard As PictureBox = New PictureBox()
        PicCard.Width = 100
        PicCard.Height = 200
        PicCard.Top = 50
        PicCard.Left = 50
        Me.Controls.Add(PicCard)
        PicCard.Image = imglist1.Images(i)
        Cards.Add(PicCard)
    Next i
  End Sub

如果将成像控件添加到父容器控件,则无需将它们保留在您自己的列表中。

使用 ListView 或第三方控件,或者如果需要使用 ListBox(包装相应的 Windows 控件),则使用自定义绘图代码。看 C# Can I display images in a list box?

您将图片框放在一起,这就是为什么您只看到最后一张卡片的原因。您必须为添加的每个图片框设置不同的 Left 属性。

解决方法很简单。只需将图片框的宽度添加到 Left,乘以当前索引 i

PicCard.Left = 50 + PicCard.Width * i