如何改变动态生成控件的属性?
我在做winform程序时,在form1中动态生成了20个PictureBox,命名为:pb1--pb20,如何在form2中改变这些form1中PictureBox的属性?
现在form2中改变form1的控件属性我已经实现,但是这20个PictureBox是动态生成的,无法直接编辑其属性。
我现在在form2中直接声明:
Dim frm1 As New Form1
Dim Pb As New PictureBox
pb.name= "pb1 "
frm1.pb.BackColor = Color.Red
这样写不对,应该怎么写呀?
[解决办法]
循环form1.controls,判断每个控件的Name是不是pb1--pb20,是则赋值。
Dim obj As Control
For Each obj In form1.Controls
If TypeOf obj Is PictureBox Then
If obj.name= "pb1 " Then
obj.tag= "1 "
End If
If obj.name= "pb2 " Then
obj.tag= "2 "
End If
'
End If
Next
[解决办法]
如果你不想循环的话,在你生成PictureBox的时候,你可以将其存到一个动态链表中,下次就可以从链表中取得其引用了