两个label数组(各15个label)
Private Sub Form_Load()
Dim i, j As Integer
For i = 0 To 14
Randomize
j = Int(3 * Rnd)
If j = 0 Then
Label1(i).Caption = "A"
Label2(i).Caption = "1"
ElseIf j = 1 Then
Label1(i).Caption = "B"
Label2(i).Caption = "2"
Else
Label1(i).Caption = "C"
Label2(i).Caption = "3"
End If
Next i
End Sub
要求出了A、B、C之后
例如label数组出ABC的情况
A(0) C(3) B(6) C(9) A(12) B(1) A(4) C(7) A(10) C(13) B(2) A(5) C(8) A(11) A(14)
括号中表示label1数组的索引
对应的在label2的排列如下
1 2 3 1 2 3 1 3 1
2 1 3 1
3 1
Private Sub Form_Load()
Dim i, j As Integer
For i = 0 To 14
Randomize
j = Int(3 * Rnd)
If j = 0 Then
Label1(i).Caption = "A"
Label2(i).Caption = "1"
ElseIf j = 1 Then
Label1(i).Caption = "B"
Label2(i).Caption = "2"
Else
Label1(i).Caption = "C"
Label2(i).Caption = "3"
End If
Next i
End Sub
要求出了A、B、C之后
例如label数组出ABC的情况
A(0) C(3) B(6) C(9) A(12) B(1) A(4) C(7) A(10) C(13) B(2) A(5) C(8) A(11) A(14)
括号中表示label1数组的索引
对应的在label2的排列如下
1 2 3 1 2 3 1 3 1
2 1 3 1
3 1
说明自己的意图要让别人能理解,今后多注意
这个测试了Private Sub Command1_Click()
Dim Label1(0 To 14) As Object
Dim Label2(0 To 14) As Object
Dim i As Integer
Dim intLeft As Integer
Dim intTop As Integer
Dim intFirstTop As Integer
Dim strValue As String
'动态创建控件数组,如果你已经有可以去掉
For i = 0 To 14
Set Label1(i) = Me.Controls.Add("VB.Label", "Label1" & i)
Set Label2(i) = Me.Controls.Add("VB.Label", "Label2" & i)
Next i
'随机获取Caption
For i = 0 To 14
Randomize
j = Int(3 * Rnd)
If j = 0 Then
Label1(i).Caption = "A"
Label2(i).Caption = "1"
ElseIf j = 1 Then
Label1(i).Caption = "B"
Label2(i).Caption = "2"
Else
Label1(i).Caption = "C"
Label2(i).Caption = "3"
End If
Next i
intFirstTop = 1000
intTop = intFirstTop
intLeft = 1000
strValue = "0"
For i = 0 To 14
If strValue <> "0" Then
If Label2(i).Caption = strValue Then
intTop = intTop + 200
intLeft = intLeft
Else
intTop = intFirstTop
intLeft = intLeft + 200
End If
End If
Label2(i).Move intLeft, intTop
Label2(i).AutoSize = True
Label2(i).Visible = True
strValue = Label2(i).Caption
Next i
End Sub2 1 3 2 1 2 3 1
2 3 2 3
3 2