我想实现的功能是:在文本框里输入5,点击确定按钮,在同一个窗体上加载5个picture控件。
谢谢

解决方案 »

  1.   

    可以用load来加载.
    首先在窗体上画一个picture控件,设置它的index属性为0,将它的Visible属性设为false.Private Sub Command1_Click()
    Dim i As LongFor i = 1 To Val(Text1.Text)
        Load Picture1(i)
        Picture1(i).Visible = True
        Picture1(i).Left = 0
        Picture1(i).Top = i * 500
    Next i
    End Sub
      

  2.   

    本例没有使用楼上几位加载控件数组的方法,唯一的优点就是不必事先放好一个pictureboxPrivate Sub Command1_Click()
    Dim ctlP As Control, i As LongFor i = 1 To Val(Text1.Text)
    '加入一个PictureBox
     Set ctlP = Controls.Add("VB.PictureBox", "ctlP" & i, Form1)
    '设置PictureBox的位置和尺寸
     ctlP.Move i * 300, i * 300, 2500, 2000
    '设置PictureBox的背景色
     ctlP.BackColor = QBColor(i)
    '使PictureBox可见
     ctlP.Visible = True
    Next i
    End Sub
      

  3.   

    类似:
    '类模块Class1代码:
    Option ExplicitPrivate WithEvents mvarCmBtn As CommandButton
    Public Property Set CmBtn(ByVal vData As CommandButton)
        Set mvarCmBtn = vData
    End Property
    Public Property Get CmBtn() As CommandButton    Set CmBtn = mvarCmBtn
    End PropertyPrivate Sub mvarCmBtn_Click()
    MsgBox mvarCmBtn.Name
    End Sub'测试窗体代码:
    Option Explicit
    Dim a() As Class1Private Sub Command1_Click()
    Me.Controls.Remove Me.Controls("cmdobj3") '删除控件
    End SubPrivate Sub Form_Load()
    ReDim a(5)
    Dim i As Integer
    For i = 0 To 5
    Set a(i) = New Class1
    Set a(i).CmBtn = Me.Controls.Add("VB.CommandButton", "cmdObj" & i)
    a(i).CmBtn.Visible = True
    a(i).CmBtn.Top = i * 500
    Next i
    End Sub