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