十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
本篇文章为大家展示了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中怎么实现一个控件数组,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注创新互联行业资讯频道。