Dim i  As Integer
Dim j  As Integer
Dim k  As Integer
Dim ft  As Boolean
Dim a  As Variant
Dim b  As Variant
Dim x(280)  As Boolean
Private Sub Form_Load()
Show
Form1.FontSize = 18
Print "黄色是集装箱。"
Print "红色是搬运机,可以用上,下,左,右移动搬运机"
Print "也可以用I,M,J,K移动搬运机。"
Print "集装箱的目标位置是灰色处。"
Print "您已走的步数为:"
a = 14 '列数
b = 11 '行数
For i = 0 To a * b - 1 '记住搬运机初始位置和堆桩位置
If Label1(i).BackColor = &HFF Then k = i  ’就是这里提示出错的!!!!!!!!!!
If Label1(i).BackColor = &H80000010 Then x(i) = True
Next i
Label2.Caption = j
End Sub
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
j = j + 1
'以下是处理上行键的程序
If (KeyCode = 38 Or KeyCode = 73 Or KeyCode = 105) And _
(Label1(k - a).BackColor = &HFFFFFF Or _
Label1(k - a).BackColor = &H80000010) Then
Label1(k).BackColor = &HFFFFFF
Label1(k - a).BackColor = &HFF&
k = k - a
Else
If k >= 2 * a Then
If (KeyCode = 38 Or KeyCode = 73 Or KeyCode = 105) And _
Label1(k - a).BackColor <> &H80000008 And _
Label1(k - a).BackColor = &HFFFF& And _
(Label1(k - 2 * a).BackColor = &HFFFFFF Or _
Label1(k - 2 * a).BackColor = &H80000010) Then
Label1(k - 2 * a).BackColor = &HFFFF&
Label1(k - a).BackColor = &HFF&
Label1(k).BackColor = &HFFFFFF
k = k - a
End If
End If
End If
我照书上打的,他是用了14X11个Label1,定义成一个组了。主要是Label1(i).BackColor=&HFF Then k=i
有错,是"实时错误340,控制数组元素121不存在”何解???谢谢了啊

解决方案 »

  1.   

    你查看一下你的 Label1 的索引号,是不是从 0 开始、153 结束?
    有没有索引号是 121 的?
    (应该是缺少这个索引号的,这样最大的索引号至少是154了)
      

  2.   

    看看你的form里面,是不是把label1(121) 无意中删掉了
      

  3.   


    你桌面上放 Label 了吗?
      

  4.   

    我看了下。我没有删掉Label(1)中任何一个呀,但如果在写程序过程中,我删掉一个,再加上一个,应该没有问题吧