本篇文章為大家展示了VB.NET中怎么實現(xiàn)一個控件數(shù)組,內(nèi)容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。
讓客戶滿意是我們工作的目標,不斷超越客戶的期望值來自于我們對這個行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領域值得信任、有價值的長期合作伙伴,公司提供的服務項目有:域名與空間、網(wǎng)站空間、營銷軟件、網(wǎng)站建設、博州網(wǎng)站維護、網(wǎng)站推廣。
Public Class CheckBoxArrClass CheckBoxArr
Inherits System.Collections.CollectionBase
Private ReadOnly ParentGrpBx As System.Windows.Forms.GroupBox
Public Sub New()Sub New(ByVal pGrpBx As System.Windows.Forms.GroupBox)
ParentGrpBx = pGrpBx
End Sub
Default Public ReadOnly Property Item()Property Item
(ByVal index As Integer) As System.Windows.Forms.CheckBoxGet
Return Me.List.Item(index)
End Get
End Property
Public Sub AddItem()Sub AddItem()
Dim CheckBox1 As New System.Windows.Forms.CheckBox
Me.List.Add(CheckBox1)
ParentGrpBx.Controls.Add(CheckBox1)''向窗體中增加控件
CheckBox1.Tag = Me.Count''Count屬性從CollectionBase 繼承
CheckBox1.Top = Me.Count * 30
CheckBox1.Left = 200
CheckBox1.Text = "CheckBox" & Me.Count.ToString
End Sub
Public Sub AddItem()Sub AddItem(ByVal CheckBox1 As System.Windows.Forms.CheckBox)
Me.List.Add(CheckBox1)
End Sub
Public Sub RemoveItem()Sub RemoveItem()
If Me.Count > 0 Then
ParentGrpBx.Controls.Remove(Me(Me.Count - 1))
Me.List.RemoveAt(Me.Count - 1)
End If
End Sub
End Class
這里要提的問題很簡單:
1、添加的控件要有個容器,也就是你要向哪個地方添加控件的地方。這里,在我標為紅色的部分設置了添加控件的“父親”,你可以直接添加到你的窗體里,那么就可以將紅色部分改寫為:“ParentForm”和“form”即將那一句改為:Private ReadOnly ParentForm As System.Windows.Forms.Form。在程序里,我是將checkbox添加到一個groupbox里的。所以向哪個容器添加控件就是需要你改的了。
2、控件的布局。記住,控件的位置永遠是相對于他的容器的坐標的。一下給出我添加控件的擺放代碼:三個checkbox占一行。
Public Sub GenerateDynCheckBox()Sub GenerateDynCheckBox(ByRef langList As ArrayList) CheckBox1 = New CheckBoxArr(GroupBoxAttrInfo) Dim i As Integer For i = 0 To langList.Count - 1 'langList 存放各國語言English,F(xiàn)rench。。。。 'add the checkbox array CheckBox1.AddItem() CheckBox1(i).Text = langList(i) CheckBox1(i).Checked = True CheckBox1(i).Height = 28 'layout the checkboxes If i = 0 Then CheckBox1(i).Top = 20 CheckBox1(i).Left = 10 ElseIf i = 1 Then 'Or 2 Then CheckBox1(i).Top = 20 CheckBox1(i).Left = CheckBox1(i - 1).Left + CheckBox1(i - 1).Width ElseIf i = 2 Then CheckBox1(i).Top = 20 CheckBox1(i).Left = CheckBox1(i - 1).Left + CheckBox1(i - 1).Width ElseIf i <> 0 And i <> 1 And i <> 2 Then CheckBox1(i).Top = CheckBox1(i - 3).Top + CheckBox1(i - 3).Height + 10 CheckBox1(i).Left = CheckBox1(i - 3).Left End If Next i End Sub
3、刪除控件。用Checkbox的RemoveItem方法,不要使用RemoveAt方法。RemoveAt方法會導致刪除失敗,會提示NullReferenceException的錯誤
上述內(nèi)容就是VB.NET中怎么實現(xiàn)一個控件數(shù)組,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。