我说一下具体情况吧:
dim rs as new Adodb.RecordSet
我有一个数据集fs
fs=rs.getrows()
dim i as integer
for i=0 to ubound(fs,2)
    '我想创建checkbox控件数组check_okey
    '能否直接创建的就是控件数组check_okey(i)?
    '请告知!谢谢!
    
next

解决方案 »

  1.   

    没必要这么做吧
    先在窗体上放一个check_okey(0),设为不显示
    到需要显示时再显示
      

  2.   

    你可以这样:
    先在窗体上放置一个checkbox,将其Index设为0,Visible设为False
    点一下Cmd_AddNewControl 时:
    i = i + 1
    Load Check1(i)
    Check1(i).Visible = True
    Check1(i).Top = i * 500'任定
      

  3.   

    agree with : zyl910(910:分儿,我来了!)
    先在窗体上放一个check_okey(0),设为不显示
    到需要显示时再显示
    接着for i=1 to ubound(fs,2)
        '我想创建checkbox控件数组check_okey
        load check_okey(i)
        check_okey(i).visibled=true
        '再设定他的位置
    next
      

  4.   

    '可以通过WINAPI来实现,CreateWindowEx用于建立CHECKBOX,DestroyWindow用于删除CHECKBOX,MoveWindow 可以调整位置,IsDlgButtonChecked可以用来测试是否被选中:
    Private Declare Function CreateWindowEx Lib "user32" Alias "CreateWindowExA" (ByVal dwExStyle As Long, ByVal lpClassName As String, ByVal lpWindowName As String, ByVal dwStyle As Long, ByVal x As Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hWndParent As Long, ByVal hMenu As Long, ByVal hInstance As Long, lpParam As Any) As Long
    Private Declare Function DestroyWindow Lib "user32" (ByVal hwnd As Long) As Long
    Private Declare Function MoveWindow Lib "user32" (ByVal hwnd As Long, ByVal x As Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal bRepaint As Long) As Long
    Private Const BS_AUTOCHECKBOX = &H3&
    Private Const WS_VISIBLE = &H10000000
    Private Const WS_CHILD = &H40000000Const CHECK_BASE_ID = 100
    Dim m_hWnd(1 To 5) As LongPrivate Sub cmdADD_Click()
    Dim hwnd As Long
    Dim T(1 To 5) As String
    T(1) = "TEST1": T(2) = "TEST2": T(3) = "TEST3": T(4) = "TEST4": T(5) = "TEST5"
    For I = 1 To 5
         m_hWnd(I) = CreateWindowEx(&H4, "BUTTON", T(I), BS_AUTOCHECKBOX Or WS_CHILD Or WS_VISIBLE, 10, 10 + I * 20, 120, 13, Me.hwnd, CHECK_BASE_ID + I, App.hInstance, 0)
    Next
    End SubPrivate Sub cmdTest1_Click()
    Dim bChecked  As Boolean
    bChecked = IsDlgButtonChecked(Me.hwnd, CHECK_BASE_ID + 1)
    End SubPrivate Sub Form_Unload(Cancel As Integer)
    For I = 1 To 5
        If m_hWnd(I) <> 0 Then
            DestroyWindow m_hWnd(I)
        End If
    Next
    End Sub