+ -
当前位置:首页 → 问答吧 → 动态添加的checkbox始终第一个赋不到值!

动态添加的checkbox始终第一个赋不到值!

时间:2011-07-16

来源:互联网

我想动态创建3个checkbox,但是下面的代码却创建了4个checkbox! 而且发现创建后 msgbox Check1(0).Tag 始终是空的! 并不是想象中的得到 Test0! 我设置了Checkbox1空间的index是0. 应该如何改创建3个checkbox,而且第一个 checkbox的Tag值是 Test0??
VB code
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

作者: jcreatorqijiashe   发布时间: 2011-07-16

For i = 1 To 3
  Load Check1(i)
你已经自己创建了check(0)了,这里你用循环又创建了3个,加起来总共是几个?

你在循环里面队check(0)做设置了嘛?没有阿

作者: spt_petrolor   发布时间: 2011-07-16

引用 1 楼 spt_petrolor 的回复:

For i = 1 To 3
Load Check1(i)
你已经自己创建了check(0)了,这里你用循环又创建了3个,加起来总共是几个?

你在循环里面队check(0)做设置了嘛?没有阿


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

作者: jcreatorqijiashe   发布时间: 2011-07-16

VB code
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

作者: jhone99   发布时间: 2011-07-16

引用 3 楼 jhone99 的回复:

VB code
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)……


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

作者: jcreatorqijiashe   发布时间: 2011-07-16

这是你自己认识错误问题,别赖到vb身上

作者: jhone99   发布时间: 2011-07-16

从0开始的。

作者: TINTIN2010   发布时间: 2011-07-16

热门下载

更多