vb.net控件数组的问题

vb.net里面的动态控件数组的问题,这个动态控件数组在vb里面easy到极致,可是在vb.net里面却有点让人摸不着头脑。

其实也很简单,因为vb.net和vb不同拉,来看看vb.net的动态控件数组如何实现。

1、在form的头部定义一个公共的ArrayList类型的变量

Dim m_items As New ArrayList

2、在程序中动态生成控件

while (a<b)

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中的控件数组。

如果你要为控件数组定义其他的触发事件,只要修改对应的触发就可以了。