【发布时间】:2021-03-11 14:04:35
【问题描述】:
我必须将 16 个随机排列在数组中的图像分配给图片框。我想出了创建一个图像列表然后将它们分配给图片框的想法。 有没有办法缩短这个? 这是我想出的代码:
For i = 0 To FotoArray.Length - 1
ImageList1.Images.Add(Image.FromFile(FotoArray(i)))
Next
PictureBox1.Image = ImageList1.Images(0)
PictureBox2.Image = ImageList1.Images(1)
PictureBox3.Image = ImageList1.Images(2)
PictureBox4.Image = ImageList1.Images(3)
PictureBox5.Image = ImageList1.Images(4)
PictureBox6.Image = ImageList1.Images(5)
PictureBox7.Image = ImageList1.Images(6)
PictureBox8.Image = ImageList1.Images(7)
PictureBox9.Image = ImageList1.Images(8)
PictureBox10.Image = ImageList1.Images(9)
PictureBox11.Image = ImageList1.Images(10)
PictureBox12.Image = ImageList1.Images(11)
PictureBox13.Image = ImageList1.Images(12)
PictureBox14.Image = ImageList1.Images(13)
PictureBox15.Image = ImageList1.Images(14)
PictureBox16.Image = ImageList1.Images(15)
也为此
有没有办法为这个标签做同样的事情?
Label1.Tag = FotoArray(0)
Label2.Tag = FotoArray(1)
Label3.Tag = FotoArray(2)
Label4.Tag = FotoArray(3)
Label5.Tag = FotoArray(4)
Label6.Tag = FotoArray(5)
Label7.Tag = FotoArray(6)
Label8.Tag = FotoArray(7)
Label9.Tag = FotoArray(8)
Label10.Tag = FotoArray(9)
Label11.Tag = FotoArray(10)
Label12.Tag = FotoArray(11)
Label16.Tag = FotoArray(12)
Label13.Tag = FotoArray(13)
Label15.Tag = FotoArray(14)
Label14.Tag = FotoArray(15)
【问题讨论】:
-
这是用于 WinForms 还是其他平台?
-
适用于 Windows Forms App(.NET Framework) - Visual Basic
-
你可以使用我在下面给出的答案,将
PictureBox替换为Label,然后使用FotoArray而不是ImageList