我在最上面有定义:
Dim WithEvents Check1 As CheckBox
Dim WithEvents Check2 As CheckBox
Dim WithEvents Check3 As CheckBox
Dim WithEvents Check4 As CheckBox
Dim WithEvents Check5 As CheckBox
这是代码:    Dim myname As String
    Dim checktop As Integer
    checktop = 150
    For i = 1 To Data2.Recordset.RecordCount
        myname = "Check" & i
        Me.Controls.Add "VB.Checkbox", myname, Frame1
        With frmCourse(myname)
            .Left = 400
            .Top = checktop
            .Width = 1200
            .Height = 350
            .Caption = Data2.Recordset.Fields(1)
            .Visible = True
        End With
        checktop = checktop + 400
        Data2.Recordset.MoveNext
    Next i
请帮忙看看,谢谢!!!

解决方案 »

  1.   

    什么事件呀?
    不行的话,试式控件数组,那样肯定会相应事件的(通过index属性)。
      

  2.   

    你的事件没有写啊
    Private WithEvents nc As CheckBox
    Private mCol As New Collection
    Private Num As IntegerPrivate Sub Command1_Click()
        Set nc = Form1.Controls.Add("VB.checkbox", "image" & Num)
        nc.Visible = True
        nc.Move 2000 * Num
        mCol.Add nc
        Num = Num + 1
    End SubPrivate Sub nc_Click()
        MsgBox "NewCheck"
    End Sub
      

  3.   

    不好意思,是这个事件:
        Dim tmp As String
        tmp = Data1.Recordset.Fields(2)
        If InStr(Data1.Recordset.Fields(2), "1") <> 0 Then
            Check1.Value = 1
        Else
            Check1.Value = 0
        End If
        If InStr(Data1.Recordset.Fields(2), "2") <> 0 Then
            Check2.Value = 1
        Else
            Check2.Value = 0
        End If
        If InStr(Data1.Recordset.Fields(2), "3") <> 0 Then
            Check3.Value = 1
        Else
            Check3.Value = 0
        End If
        If InStr(Data1.Recordset.Fields(2), "4") <> 0 Then
            Check4.Value = 1
        Else
            Check4.Value = 0
        End If
        If InStr(Data1.Recordset.Fields(2), "5") <> 0 Then
            Check5.Value = 1
        Else
            Check5.Value = 0
        End If
      

  4.   

    因为checkbox的数量与数据库中记录的个数有关,
    所有我只会用这种办法,
    各位大侠,有别的方法请留下,谢谢!!!