|
| |
名片设计 CorelDRAW Illustrator AuotoCAD Painter 其他软件 Photoshop Fireworks Flash |
|
在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) \\\' ButtonArray的List 属性从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
Me.List.Add(btnItem) End Sub 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
使用创建的控件数组 在Form1中放置两个按钮Button1、Button2,分别测试控件数组的增添、删除。 双击Form添加代码: Public Class Form1 Inherits System.Windows.Forms.Form
……Windows窗体设计器生成的代码…… Dim Buttons As New ButtonArray(Me)
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Buttons.AddItem() End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Buttons.RemoveItem() End Sub End Class
LabelArray.vb代码如下: 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.Label Get Return Me.List.Item(index) \\\' ButtonArray的List 属性从CollectionBase 继续 End Get End Property
Me.List.Add(btnItem) AddHandler btnItem.Click, AddressOf btnItem_Click \\\'绑定事件处理程序 End Sub
\\\'在这里编写控件数组对点击事件的响应 \\\'例如: MsgBox(\"点击:\" & sender.GetType().ToString & CType(CType(sender, Label).Tag, String)) End Sub
双击Form添加代码: Public Class Form1 Inherits System.Windows.Forms.Form
Public Sub New() \\\'该调用是 Windows 窗体设计器所必需的。 \\\'在 InitializeComponent() 调用之后添加任何初始化 End Sub #End Region 然后可以测试点击两个label可以显示相应的Tag的信息。 返回类别: 教程 上一教程: 通过事例学习.net的WebForms技术(三) 下一教程: ASP.NET程序中用Repeater实现分页 您可以阅读与"在VB.Net中创建使用控件数组"相关的教程: · 创建用于ASP.NET的分页程序控件 · 多线程填写treeview控件(vb.net) · 实例讲解.NET中资源文件的创建与使用 · VB.NET中使用FTP下载文件的两种方式 · 在.NET上如何根据字符串动态创建控件 |
| 快精灵印艺坊 版权所有 |
首页 |
||