您好,登录后才能下订单哦!
本篇文章为大家展示了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进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。