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 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
可以不同。
开发人员在 Visual Basic 6.0 以及更早的版本中使用控件数组主要有以下三个理由:
1. 在循环中访问数组中控件的属性。
2. 向窗体动态添加新控件。
3. 允许一个事件例程与多个控件连接 。
控件数组的使用,极大的方便了开发人员。然而,刚刚从Visual Basic6.0(以下简称VB6.0)过渡到Visual Basic.Net(以下简称VB.NET)的初学者却发现,在VB.NET中似乎不能使用控件数组了。笔者仔细查阅了VB.NET的MSDN文档发现,在 VB.NET 中,确实不再支持控件数组。原因是,VB.NET对事件模型作了很大的改动,引入了另外一种数据类型――控件集合模型,使控件数组没有存在的必要。就像 VB6.0 中的控件数组可以共享事件一样,VB.NET 中的事件模型允许任何事件处理程序都可以处理来自多个控件的事件,这就允许创建属于不同类型但共享相同事件的控件组。
VB.net中没有控件数组的说法。
替代方法:
·创建一个控件的类型数组: Button[],将所有的button控件创建好后存进去,可以遍历它;
·或将所有要遍历的控件放在一个容器如Panel中,以后遍历这个容器的子控件即可。
----------
你的情况,推荐放在容器中。比如下面就是一个遍历容器的控件,然后找出所有的文本框并修改内容的程序:
//pn 是个 Panel 控件
foreach (Control item in pn.Controls)
{
if (typeof(TextBox) == item.GetType())
{
((TextBox)item).Text = "我是动态修改的!";
}
}