注册 登录
编程论坛 VB6论坛

一次创建多个label 数组控件

味无味 发布于 2013-10-11 16:52, 532 次点击
Option Explicit

Dim labjs As Long


Private Sub Command1_Click()
Dim Label1() As Label
labjs = 1
labjs = labjs + 1
Load Label1(labjs)
With Label1(labjs)
    .Caption = labjs
    .Visible = True
End With
Call label1move

End Sub


Private Sub Label1_Click()
Index As Integer
Unload Label1(Index)
Call label1move
End Sub

Private Sub label1move()
Dim k As Label
Dim x As Long, y As Long
x = 0
y = 0

For Each k In Label1
    k.Move x, y
    x = x + k.Width
    If x + k.Width > Me.ScaleWidth Then
        y = y + k.Height
        x = 0
    End If
Next
End Sub
提示下标越界
1 回复
#2
风吹过b2013-10-12 10:40
Private Sub Command1_Click()
'Dim Label1() As Label            这行不需,Label1 应该是窗体上的一个控件数组的名字
'labjs = 1                        不行不能要,否则每次都从第2个控件载起,就会出现错误
labjs = labjs + 1
Load Label1(labjs)
With Label1(labjs)
    .Caption = labjs
    .Visible = True
End With
Call label1move
End Sub

Private Sub Label1_Click(Index As Integer)
Unload Label1(Index)
Call label1move
End Sub

------------------
静态分析,没看到哪里会下标越界,错误提示在哪一行?
1