如何使用VB.NET控件数组

发布时间:2021-12-02 11:03:43 作者:小新
来源:亿速云 阅读:307

这篇文章主要介绍了如何使用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.  

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

  6. ParentForm = pForm 

  7. End Sub  

  8.  

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

  10. Get  

  11. Return Me.List.Item(index)   

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

  13. End Get  

  14. End Property  

  15.  

  16. Public Sub AddItem()  

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

  18. Me.List.Add(btnItem)  

  19. ParentForm.Controls.Add(btnItem)  

  20. '向窗体中增加控件  

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

  22. btnItem.Top = Me.Count * 30  

  23. btnItem.Left = 200 

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

  25. AddHandler btnItem.Click, AddressOf btnItem_Click   

  26. '绑定事件处理程序  

  27. End Sub  

  28.  

  29. Public Sub RemoveItem()  

  30. If Me.Count > 0 Then  

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

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

  33. End If  

  34. End Sub  

  35.  

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

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

  38. '例如:  

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

  40. End Sub  

  41. End Class 

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

推荐阅读:
  1. VB.NET中如何使用Radiobutton控件
  2. vb.net如何实现动态控件数组

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

vb.net

上一篇:php如何截取头一个中文乱码

下一篇:tk.Mybatis插入数据获取Id怎么实现

相关阅读

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

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