网站导航免费论文 原创论文 论文搜索 原创论文 网学软件 学术大家 资料中心 会员中心 问题解答 原创论文 论文素材 设计下载 最新论文 下载排行 论文上传 在线投稿 联系我们
返回网学首页
网学联系
最新论文 推荐专题 热门论文 素材专题
当前位置: 网学 > 编程文档 > VB.net > 正文
vb.net实现控件数组
来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/15
下载{$ArticleTitle}原创论文样式

首先创建一个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


Public Sub AddItem(ByVal btnItem As System.Windows.Forms.Button)

Me.List.Add(btnItem)
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

 

 

 

使用创建的控件数组

在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


其他的控件数组也可以用类似的方式来实现
例如 Label控件数组

LabelArray.vb代码如下:
Public Class LabelArray
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.Label

Get

Return Me.List.Item(index) '' ButtonArray的List 属性从CollectionBase 继承

End Get

End Property


Public Sub AddItem(ByVal btnItem As System.Windows.Forms.Label)

Me.List.Add(btnItem)

AddHandler btnItem.Click, AddressOf btnItem_Clic

  • 下一篇资讯: vb.net动态控件数组
  • 网学推荐

    免费论文

    原创论文

    浏览:
    设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
    版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
    湘ICP备09003080号