Dim x As Label
    Set x = frmDataEnv.Controls.Add("VB.Label", "hello", Me)
    x.Visible = True
    x.Left = 0
    x.Width = 1000
    x.Height = 200
    x.Caption = "asdfasf"

解决方案 »

  1.   

    Set  objlbl  =  frmMain.Controls.Add("VB.Label",  "OK",  Me)
      

  2.   

    还有一种 就是 用 数组控件.
    不过 label 得事先 添加 一个在 form上。
      

  3.   

    可以用控件数组。
    先在Form内放一个Label,其Index设置为0;
    然后在代码中:
          Dim i as integer
          i = Label.UBound
          Load Label(i+1)  '--->Label(i+1)即为你生成的Label对象
          '再设Label(i+1)的属性:
          With Label(i+1)
              .Caption = "测试Label"
              .BackColor = RGB(255,0,0)
             '...
          End With      '将Label(i+1)删除时:
       Unload Label(i+1)
      

  4.   

    可以用控件数组。
      先在Form内放一个Label,其Index设置为0,Visible设为False;
      然后在代码中:
                  Dim  i  as  integer
                  i  =  Label.UBound
                  Load  Label(i+1)    '--->  Label(i+1)即为你生成的Label对象
                  '再设Label(i+1)的属性:
                  With  Label(i+1)
                          .Visible = True
                          .Caption  =  "测试Label"
                          .BackColor  =  RGB(255,0,0)
                        '...
                  End  With
      
                  '将Label(i+1)删除时:
         Unload  Label(i+1)
      

  5.   

    Option Explicit
    '声明对象变量为 CommandButton 。
    Private WithEvents cmdObject As LabelPrivate Sub Form_Load()
        '动态添加按钮
        Set cmdObject = Form1.Controls.Add("VB.LABEL", "cmdOne")
        With cmdObject
            .Visible = True
            .Caption = "动态按钮"
            .Width = 1000
            .Height = 500
            .Top = Form1.Height / 2 - 500
            .Left = Form1.Width / 2 - 500
        End With
    End Sub