温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

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

发布时间:2021-08-12 15:48:27 来源:亿速云 阅读:139 作者:Leah 栏目:编程语言

本篇文章为大家展示了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中怎么实现一个控件数组,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注亿速云行业资讯频道。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI