VB.NET中怎么实现一个控件数组

本篇文章为大家展示了VB.NET中怎么实现一个控件数组,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:域名与空间、网站空间、营销软件、网站建设、博州网站维护、网站推广。

  1. Public Class CheckBoxArrClass CheckBoxArr  

  2. Inherits System.Collections.CollectionBase  

  3. Private ReadOnly ParentGrpBx As System.Windows.Forms.GroupBox  

  4. Public Sub New()Sub New(ByVal pGrpBx As System.Windows.Forms.GroupBox)  

  5. ParentGrpBx = pGrpBx 

  6. End Sub  

  7. Default Public ReadOnly Property Item()Property Item
    (ByVal index As Integer) As System.Windows.Forms.CheckBox  

  8. Get  

  9. Return Me.List.Item(index)  

  10. End Get  

  11. End Property  

  12. Public Sub AddItem()Sub AddItem()  

  13. Dim CheckBox1 As New System.Windows.Forms.CheckBox  

  14. Me.List.Add(CheckBox1)  

  15. ParentGrpBx.Controls.Add(CheckBox1)''向窗体中增加控件  

  16. CheckBox1.Tag = Me.Count''Count属性从CollectionBase 继承  

  17. CheckBox1.Top = Me.Count * 30  

  18. CheckBox1.Left = 200 

  19. CheckBox1.Text = "CheckBox" & Me.Count.ToString  

  20. End Sub  

  21.  

  22. Public Sub AddItem()Sub AddItem(ByVal CheckBox1 As System.Windows.Forms.CheckBox)  

  23. Me.List.Add(CheckBox1)  

  24. End Sub  

  25.  

  26. Public Sub RemoveItem()Sub RemoveItem()  

  27. If Me.Count > 0 Then  

  28. ParentGrpBx.Controls.Remove(Me(Me.Count - 1))  

  29. Me.List.RemoveAt(Me.Count - 1)  

  30. End If  

  31. End Sub  

  32. 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中怎么实现一个控件数组,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注创新互联行业资讯频道。


网站名称:VB.NET中怎么实现一个控件数组
分享网址:http://myzitong.com/article/gisiee.html