我想动态创建3个checkbox,但是下面的代码却创建了4个checkbox! 而且发现创建后 msgbox Check1(0).Tag 始终是空的! 并不是想象中的得到 Test0! 我设置了Checkbox1空间的index是0.  应该如何改创建3个checkbox,而且第一个 checkbox的Tag值是 Test0??
Private Sub Form_Load()
Dim i As Integer
    For i = 1 To 3
        Load Check1(i)
        Check1(i).Caption = "Check" & CStr(i + 1)
        Check1(i).Top = Check1(i - 1).Top + 500
        Check1(i).Left = Check1(0).Left
        Check1(i).Visible = True
        Check1(i).Tag = "Test" & CStr(i)
    Next
   
End Sub

解决方案 »

  1.   

        For i = 1 To 3
            Load Check1(i)
    你已经自己创建了check(0)了,这里你用循环又创建了3个,加起来总共是几个?你在循环里面队check(0)做设置了嘛?没有阿
      

  2.   


    啊? 我在哪里创建的 Check(0) ? 我在窗体中如果删除Check1,运行就报错!
      

  3.   

    Private Sub Form_Load()
        
    Dim i As Integer    Check1(0).Tag = "Test0"     For i = 1 To 3
            Load Check1(i)
            Check1(i).Caption = "Check" & CStr(i + 1)
            Check1(i).Top = Check1(i - 1).Top + 500
            Check1(i).Left = Check1(0).Left
            Check1(i).Visible = True
            Check1(i).Tag = "Test" & CStr(i)
        Next
       
    End Sub
      

  4.   


    多谢,这是VB自身的问题吗? 因为我发现我把 For i = 1 To 3 改成 For i = 0 To 2 也会报错!
      

  5.   


    为什么从0开始我写这个不行呢? For i = 0 To 2