千家信息网

如何使用VB.NET控件数组

发表于:2024-11-20 作者:千家信息网编辑
千家信息网最后更新 2024年11月20日,这篇文章主要介绍了如何使用VB.NET控件数组,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。一、关于VB.NET控件数组控件数组"是V
千家信息网最后更新 2024年11月20日如何使用VB.NET控件数组

这篇文章主要介绍了如何使用VB.NET控件数组,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

一、关于VB.NET控件数组

控件数组"是VB6中一项简单而实用的技术,通过对控件的简单拷贝、复制,开发者可以指定一组控件,这些控件具有相同的类型和名称,共享事件集。使用控件数组可以:
1、允许多个控件共享同一个事件句柄;
2、提供了运行期间增加一个控件的机制;
3、提供了一种方便的组合控件的方法。

VB.NET控件数组的创建不再通过VB6中设计时对控件的简单拷贝、复制而实现。VB .NET 的事件模型允许任何事件处理程序处理来自多个控件的事件,这使我们能够编程创建属于不同类型但共享相同事件的控件组。

二、创建VB.NET控件数组

下面我们创建一个Button类型控件数组:
1、创建"Windows应用程序"类型的工程,添加名为ButtonArray的类,并使该类继承 System.Collection.CollectionBase 类。System.Collections.CollectionBase类是.NET框架类库中为集合操作提供抽象的基类,通过对它的继承可以为我们的 ButtonArray类具备集合增加、删除、索引的功能。
2、为ButtonArray类添加ParentForm属性,即控件组所在窗体,创建初始化函数(构造函数);
3、为控件数组类增加AddItem方法,该方法在控件数组类中添加成员;
4、为控件数组类增加RemoveItem方法,该方法在控件数组中删除一个成员。

  1. Public Class ButtonArray

  2. Inherits System.Collections.CollectionBase

  3. Private ReadOnly ParentForm As System.Windows.Forms.Form

  4. Public Sub New(ByVal pForm As System.Windows.Forms.Form)

  5. ParentForm = pForm

  6. End Sub

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

  8. Get

  9. Return Me.List.Item(index)

  10. 'ButtonArray的List 属性从CollectionBase 继承

  11. End Get

  12. End Property

  13. Public Sub AddItem()

  14. Dim btnItem As New System.Windows.Forms.Button()

  15. Me.List.Add(btnItem)

  16. ParentForm.Controls.Add(btnItem)

  17. '向窗体中增加控件

  18. btnItem.Tag = Me.Count'Count属性从CollectionBase 继承

  19. btnItem.Top = Me.Count * 30

  20. btnItem.Left = 200

  21. btnItem.Text = "Button" & Me.Count.ToString

  22. AddHandler btnItem.Click, AddressOf btnItem_Click

  23. '绑定事件处理程序

  24. End Sub

  25. Public Sub RemoveItem()

  26. If Me.Count > 0 Then

  27. ParentForm.Controls.Remove(Me(Me.Count - 1))

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

  29. End If

  30. End Sub

  31. Public Sub btnItem_Click(ByVal sender As Object,
    ByVal e As System.EventArgs)

  32. '在这里编写控件数组对点击事件的响应

  33. '例如:

  34. MsgBox("点击:" & sender.GetType().ToString &
    CType(CType(sender, Button).Tag, String))

  35. End Sub

  36. End Class

感谢你能够认真阅读完这篇文章,希望小编分享的"如何使用VB.NET控件数组"这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!

0