如何使用字符串的值来控制VB.net中的另一个控件?

时间:2013-10-26 15:16:14

标签: vb.net

我一直在玩一些代码,并且我已经轻松制作了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]

我将把它放在一个循环中。有没有办法,我可以做到这一点,而无需手动输入所有内容,并冒着在案例陈述中遗漏的风险?而且,我必须为我想做的每一种不同的改变重新输入它(例如:标签或错误图像)。

指针会以某种方式帮助吗?我真的不知道该怎么做,但如果可能的话,它会非常有用。

1 个答案:

答案 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)