---- VB为我们提供了一种特殊的控件,就是控件数组。控件数组是共享控件名称、类型和事件的控件组,与可实现相同功能的多个控件相比,它们使用了更少的资源。有的时候,你或许会想在程序运行时动态的在控件数组中加入一个控件,如一个按钮。这时,你可以使用Load语句,语法如下: Load Object(Index) ---- 这里的Object 是指控件数组名称,Index是你想增加的控件的索引号。为了要在运行时刻动态加入一个控件到控件数组中,你必须保证控件数组中至少有一个控件(可以将控件的Index属性设为0)。需要注意的是VB仅仅允许一个控件数组中包含32767个控件。 ---- 例如,假设在一个表单中有一个按钮控件数组名为cmdBtn。在它们的Click事件中,你将要加入新的按钮到表单中。打开一个新的工程并加入一个按钮到默认的表单中,设置按钮的Index属性为0。当你这样做了之后,VB就会将这个按钮转变成按钮数组。然后,加入下面的代码到程序中: Private Sub cmdBtn_Click(Index As Integer) Dim btn As CommandButton Dim iIndex As Integer iIndex = cmdBtn.Count If iIndex <= 32767 Then Load cmdBtn(iIndex) Set btn = cmdBtn(iIndex) With btn .Top = cmdBtn(iIndex - 1).Top + 620 .Caption = "Command" & iIndex + 1 .Visible = True End With Set btn = Nothing End If End Sub ---- 运行程序并点击按钮,程序就会在表单中增加新的按钮。 Unload 是卸载! 改成Image控件就可以了!!
判断一个控件是否使用,你可以在他的TAG属性设置一下。
加载时n不一定是按顺序的,只要n没有没占用就可以.
卸载时也一样,只要有对应的就可以.
加载已有的n或卸载没有的n都会出错.
加上错误处理.
还有判断是否加载过可以写一个函数,内有错误捕获,再调用对应的n如果出错
就是没有,不出错就是有.
Dim btn As CommandButton
Dim iIndex As Integer
iIndex = cmdBtn.Count
If iIndex <= 32767 Then
Load cmdBtn(iIndex)
Set btn = cmdBtn(iIndex)
With btn
.Top = cmdBtn(iIndex - 1).Top + 620
.Caption = "Command" & iIndex + 1
.Visible = True
End With
Set btn = Nothing
End If
End Sub
---- 运行程序并点击按钮,程序就会在表单中增加新的按钮。 Unload 是卸载!
改成Image控件就可以了!!
速度比数组快得多。
具体看帮助吧。