vb.net里面的动态控件数组的问题,这个动态控件数组在vb里面easy到极致,可是在vb.net里面却有点让人摸不着头脑。
其实也很简单,因为vb.net和vb不同拉,来看看vb.net的动态控件数组如何实现。
1、在form的头部定义一个公共的ArrayList类型的变量
Dim m_items As New ArrayList
2、在程序中动态生成控件
while (a
dim lblControl as Label= new Label
lblControl .Text="你好"
lblControl .dock=top
lblControl .autosize=false.
.
me.controls.add(lblControl )''把动态产生的控件放到对应的区域
''下面这个地方注意拉,
m_items.Add(lblControl )''把这个label放到前面第一步定义的ArrayList中去
AddHandler label.Click, AddressOf LblControlArrayClick ''给这组动态控件定义click事件的触发函数LblControlArrayClick 。
end while
3、定义LblControlArrayClick 的click事件的触发函数,这个是和vb不同的地方的关键所在拉。
''控件数组事件
Private Sub LblControlArrayClick (ByVal sender As Object, ByVal e As EventArgs)
Dim lblText As String
lblText = CType(sender, Label).Text ''这里CType就是将触发事件的对象还原为Label对象,
''有点像java里面的集合阿,放进去后再取出来的时候,要造型一下。
msgbox ("所电击的动态控件的文字是:" & lblText)
end sub
好啦,就是这么简单,vb.net中的控件数组。
如果你要为控件数组定义其他的触发事件,只要修改对应的触发就可以了。