我一直在玩一些代码,并且我已经轻松制作了50多个标记为PictureBox[XCoordinate]_[YCorrdinate]
的控件(在我制作的小网格上用括号替换括号和内容。)< / p>
这个问题是在执行循环更新所有图片框时使用控件真的很痛苦。我想知道如何编写代码:
'This code assumes that the picture boxes are all initialized.
Dim XCoordiante As Integer = 5
Dim YCorrdinate As Integer = 2
PictureBox[XCoordinate]_[YCoordiante].Image = [Put Image Here]
我将把它放在一个循环中。有没有办法,我可以做到这一点,而无需手动输入所有内容,并冒着在案例陈述中遗漏的风险?而且,我必须为我想做的每一种不同的改变重新输入它(例如:标签或错误图像)。
指针会以某种方式帮助吗?我真的不知道该怎么做,但如果可能的话,它会非常有用。
答案 0 :(得分:1)
创建它们时,请将它们保存到List:
Private pList As New List(Of PictureBox)
Dim pic As New PictureBox
With Pic
.Location = ...
' etc
End With
Me.Controls.Add(pic)
pList.Add(pic)
假设它们是以某种顺序创建的:
For n As integer = 0 To pList.Count = 1
' add code to look at Plist(n).X and .Y to determine what to do (?)
Plist(n).Image = ...
Next n
如果要捕获更多信息,请创建PicBox
的自定义类和其他信息,并将列表设为List(Of myPicClass)
。