您好,登錄后才能下訂單哦!
本篇文章為大家展示了VB.NET中怎么實現一個控件數組,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。
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,French。。。。 '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的錯誤
上述內容就是VB.NET中怎么實現一個控件數組,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。