VB.NET動(dòng)態(tài)控件數(shù)組三部曲
學(xué)習(xí)VB.NET時(shí),你可能會(huì)遇到VB.NET動(dòng)態(tài)控件數(shù)組問題,這里將介紹VB.NET動(dòng)態(tài)控件數(shù)組問題的解決方法,在這里拿出來和大家分享一下。這個(gè)動(dòng)態(tài)控件數(shù)組在VB里面easy到***,可是在VB.NET里面卻有點(diǎn)讓人摸不著頭腦。
其實(shí)也很簡單,因?yàn)閂B.NET和VB不同拉,來看看VB.NET的動(dòng)態(tài)控件數(shù)組如何實(shí)現(xiàn)。
1、在form的頭部定義一個(gè)公共的ArrayList類型的變量
- Dim m_items As New ArrayList
2、在程序中動(dòng)態(tài)生成控件
- while (a<b)
- dim lblControl as Label= new Label
- lblControl .Text="你好"
- lblControl .dock=......top
- lblControl .autosize=false.
- ....
- me.controls.add(lblControl )
- '把動(dòng)態(tài)產(chǎn)生的控件放到對應(yīng)的區(qū)域
- '下面這個(gè)地方注意拉,
- m_items.Add(lblControl )
- '把這個(gè)label放到前面***步定義的ArrayList中去
- AddHandler label.Click, AddressOf LblControlArrayClick
- '給這組動(dòng)態(tài)控件定義click事件的觸發(fā)函數(shù)LblControlArrayClick 。
- end while
3、定義LblControlArrayClick 的click事件的觸發(fā)函數(shù),這個(gè)是和VB不同的地方的關(guān)鍵所在拉。
- '控件數(shù)組事件
- Private Sub LblControlArrayClick (ByVal sender As Object, ByVal e As EventArgs)
- Dim lblText As String
- lblText = CType(sender, Label).Text
- '這里CType就是將觸發(fā)事件的對象還原為Label對象,
- '有點(diǎn)像java里面的集合阿,放進(jìn)去后再取出來的時(shí)候,要造型一下。
- msgbox ("所電擊的動(dòng)態(tài)控件的文字是:" & lblText)
- end sub
好啦,VB.NET動(dòng)態(tài)控件數(shù)組就是這么簡單。
【編輯推薦】