vb.net按钮数组创建 vb单选按钮控件数组

VB如何用代码创建一个按钮

思路

成都创新互联公司是专业的靖远网站建设公司,靖远接单;提供成都做网站、网站设计、外贸营销网站建设,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行靖远网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!

两种方式:

1、通过动态按钮方式创建,

2:通过控件数组方式创建。

个人倾向于通过控件数组的方式。一般应用都是有规律的创建的,所以用控件数组合适些。

举例

' 先在窗体上添加一个标准按钮

' 在属性窗口中,把它的 Index属性设置成 0

'        名称改为 cmdDynCmd (其它的名称也行,注意后面的说明)

'        Visible 可以设置成 False

Option Explicit

Private lCmdIndex As Long

Private Sub LoadCmdButton()

'这儿就是加载动态按钮的

Dim i

For i = 0 To NNN   '这儿NNN等于你需要的按钮数减1,可以用变量的

'你应该能通过你的“数据库中"a"表中"名称"字段”项目数 来确定值为多少

' *** 注意这儿的 cmdDynCmd 就是设计时确定的按键名称 ***

If (lCmdIndex  0) Then Load cmdDynCmd(i)

cmdDynCmd(i).Visible = True

'这儿的 Caption 属性,你自己用代码跟你的 数据库中"a"表中"名称"字段内容关联

cmdDynCmd(i).Caption = "动态按钮"  i + 1

'这儿的 x 、y 你可以根据 i 的值来进行计算

cmdDynCmd(i).Top = X

cmdDynCmd(i).Left = Y

'直接 cmdDynCmd(i).move x, y也行

next

End Sub

' 这儿就是动态按钮的事件代码

' 根据 Index 判断是哪个按钮触发了事件

' 跟你事先设计好的控件数组完全是相同的用法

' ***** 注意!!!注意这儿的 cmdDynCmd 就是设计时确定的按键名称

Private Sub cmdDynCmd_Click(Index As Integer)

MsgBox "你点击的是第 "  Index + 1  " 个动态按钮。", 64

'具体事件代码只能你自己写

End Sub

vb.net 怎样创建控件数组?

Dim Str(20) As String '20数据元素

Dim Text(20) As TextBox

Dim n As Integer = 0

For Each i In Text

i = New TextBox '实例化

i.Location = New Point(50, n * 20)

Me.Controls.Add(i) '添加窗体

Dim Index As Integer = i.TabIndex '没index属性

Str(n) = Index

i.Text = Str(n) 'str数组值赋值给文本框

n += 1

Next

vb.net有没有类似vb6.0控件数组的功能

可以实现

首先创建一个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_Click '绑定事件处理程序

End Sub

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

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

'例如:

MsgBox("点击:" sender.GetType().ToString CType(CType(sender, Label).Tag, String))

End Sub

End Class

使用创建的Label控件

在Form1中放置两个按钮Label1、Label2

双击Form添加代码:

Public Class Form1

Inherits System.Windows.Forms.Form

#Region " Windows 窗体设计器生成的代码 "

Public Sub New()

MyBase.New()

'该调用是 Windows 窗体设计器所必需的。

InitializeComponent()

'在 InitializeComponent() 调用之后添加任何初始化

'用来绑定label

BindArray()

End Sub

……Windows窗体设计器生成的其他代码……

#End Region

Dim Labels As New LabelArray(Me)

Public Sub BindArray()

Me.Label1.Tag = "1111"

Me.Label2.Tag = "222"

Labels.AddItem(Me.Label1)

Labels.AddItem(Me.Label2)

End Sub

End Class

然后可以测试点击两个label可以显示相应的Tag的信息。

vb.net2013中创建控件数组

我是VB.Net 2010,你看看能行不。

Public Class Form1

Private MyTextBoxArray As New ArrayList

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

Dim i As Integer

For i = 0 To 8 '利用循环语句动态加入控件数组。

Dim FirstTextBox As New TextBox

'定义文本框对象

Me.Controls.Add(FirstTextBox)

'将一个文本框控件加入到Form上

MyTextBoxArray.Add(FirstTextBox)

'将文本框控件加入到例表集合中

MyTextBoxArray.Item(i).top = i * MyTextBoxArray.Item(i).height + 20 '修改新加入控件在Form上的位置

MyTextBoxArray.Item(i).left = 100

FirstTextBox.TabIndex = i

'修改新加入控件的TabIndex值

MyTextBoxArray.Item(i).text = "TextBox" i.ToString '修改默认文本。

Next

End Sub

End Class


文章标题:vb.net按钮数组创建 vb单选按钮控件数组
分享URL:http://pwwzsj.com/article/hhhppg.html