导航

vb.net控件数组的问题

Posted on 2009-08-13 23:54  yunbo  阅读(1189)  评论(0编辑  收藏  举报

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中的控件数组。
如果你要为控件数组定义其他的触发事件,只要修改对应的触发就可以了。