徐恩凡资料:【收】快速掌握VB.NET控件数组

来源:百度文库 编辑:中财网 时间:2024/07/08 10:07:38

一、关于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方法,该方法在控件数组中删除一个成员。

Public Class ButtonArray  
Inherits System.Collections.CollectionBase  
Private ReadOnly ParentForm As System.Windows.Forms.Form  
 
Public Sub New(ByVal pForm As System.Windows.Forms.Form)  
ParentForm = pForm 
End Sub  
 
Default Public ReadOnly Property Item(ByVal index As Integer) 
As System.Windows.Forms.Button  
Get  
Return Me.List.Item(index)   
'ButtonArrayList 属性从CollectionBase 继承  
End Get  
End Property  
 
Public Sub AddItem()  
Dim btnItem As New System.Windows.Forms.Button()  
Me.List.Add(btnItem)  
ParentForm.Controls.Add(btnItem)  
'向窗体中增加控件  
btnItem.Tag = Me.Count'Count属性从CollectionBase 继承  
btnItem.Top = Me.Count * 30  
btnItem.Left = 200 
btnItem.Text = "Button" & Me.Count.ToString  
AddHandler btnItem.Click, AddressOf btnItem_Click   
'绑定事件处理程序  
End Sub  
 
Public Sub RemoveItem()  
If Me.Count > 0 Then  
ParentForm.Controls.Remove(Me(Me.Count - 1))  
Me.List.RemoveAt(Me.Count - 1)  
End If  
End Sub  
 
Public Sub btnItem_Click(ByVal sender As Object, 
ByVal e As System.EventArgs)  
'在这里编写控件数组对点击事件的响应  
'例如:  
MsgBox("点击:" & sender.GetType().ToString & 
CType(CType(sender, Button).Tag, String))  
End Sub  
End Class