vb.net控件参数数组 vb控件数组代码

VB中控件数组在VB.NET中用法,请给一个例子VB.net中没有控件数组的说法 。
替代方法:
·创建一个控件的类型数组: Button[],将所有的button控件创建好后存进去,可以遍历它;
·或将所有要遍历的控件放在一个容器如Panel中,以后遍历这个容器的子控件即可 。
----------
你的情况,推荐放在容器中 。比如下面就是一个遍历容器的控件,然后找出所有的文本框并修改内容的程序:
//pn 是个 Panel 控件
foreach (Control item in pn.Controls)
{
if (typeof(TextBox) == item.GetType())
{
((TextBox)item).Text = "我是动态修改的!";
}
}
VB中控件数组如何使用因为过程的声明段(sub……)后面携带了一个参数index,它代表控件索引 。在你的窗体上如果有command1控件数组,单击其中一个就会在运行这段过程的时候将index的值赋为单击的索引数 。
您可以试着在窗体上建立一个command1,然后复制粘贴多个,建立控件数组(如有对话框,选是)然后双击任一 。写下列代码
private
sub
command1_click(index
as
integer)
print
index
end
sub
运行,看效果就好了
vb.net 怎样创建控件数组?【vb.net控件参数数组 vb控件数组代码】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中有没有命令按钮组,在VB中什么叫做控件数组在VB6中有控件数组,在VB.Net中好像没有了 。
所谓控件数组,是指同一类控件,名称相同,控件的Index属性为控件数组下标,控件的方法中带有Index参数,用以区别数组中是哪个控件触发的事件 。建立控件数组最简洁的方式就是在界面上复制粘贴控件,那时系统就会询问是否建立控件数组 。
例如:按钮Command的click事件,会出现:Command_Click(Index As Integer) 按钮控件数组中任何一个按钮单击都会触发该事件,Index的取值来标志数组中具体哪个控件元素触发的该事件 。
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).height20 '修改新加入控件在Form上的位置
MyTextBoxArray.Item(i).left = 100
FirstTextBox.TabIndex = i
'修改新加入控件的TabIndex值
MyTextBoxArray.Item(i).text = "TextBox"i.ToString '修改默认文本 。
Next
End Sub
End Class
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.Count0 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().ToStringCType(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().ToStringCType(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.net控件参数数组的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于vb控件数组代码、vb.net控件参数数组的信息别忘了在本站进行查找喔 。

    推荐阅读