VB6提供了一种使用控件数组的方法,用过这种方法的人都知道,它大大方便代码的编写。但是,到了VB.NET,原来的方法已经不能够实现。下面介绍在VB.NET中用语句动态地创建控件数组的两种方法。
方法一:使用列表类集合ArrayList
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 9
'利用循环语句动态加入10个控件的控件数组。
'定义文本框对象
Dim FirstTextBox As New TextBox
'将一个文本框控件加入到Form上
Me.Controls.Add(FirstTextBox)
'将一个文本框控件加入列表集合里
MyTextBoxArray.Add(FirstTextBox)
'设置该文本框控件的属性
MyTextBoxArray.Item(i).top = i *
MyTextBoxArray.Item(i).height + 20
'修改新加入控件在Form上的位置
MyTextBoxArray.Item(i).left = 100
'修改新加入控件的TabIndex值
FirstTextBox.TabIndex = i
'修改新加入控件的Text值
MyTextBoxArray.Item(i).text = "TextBox" &
i.ToString
'修改默认文本。
Next
End
Sub
End Class
方法二:使用控件对象
(例如:文本框)
Public Class Form1
Private
MyTextBoxArr() As TextBox
'声明文本框动态控件数组
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 9
'利用循环语句动态加入10个控件的控件数组。
'定义文本框对象
Dim FirstTextBox As New TextBox
'将一个文本框控件加入到Form上
Me.Controls.Add(FirstTextBox)
'从新定义控件数组的规模
ReDim Preserve MyTextBoxArr(i)
'将一个文本框控件加入控件数组(产生联系)
MyTextBoxArr(i) = FirstTextBox
'设置该文本框控件的属性
MyTextBoxArr(i).Top = i * MyTextBoxArr(i).Height
+ 20 '修改新加入控件在Form上的位置
MyTextBoxArr(i).Left = 100
'修改新加入控件的TabIndex值
FirstTextBox.TabIndex = i
'修改新加入控件的Text值
MyTextBoxArr(i).Text = "TextBox" &
i.ToString '修改默认文本。
Next
End
Sub
End Class
以上代码在VB.NET 2010
中运行通过。
加载中,请稍候......