如何动态增加ComboBox 和 label
需要动态的增加
用load combo1(i)提示错误,请教高手如何做?

解决方案 »

  1.   

    dim a as object
    set a=new combox
    load combox
    combox.Visible=True 
    label同理
    叔祖也是同理
      

  2.   


    Dim mcombo As ComboBox
        Set mcombo = Controls.Add("vb.combobox", "mcombo")
        mcombo.Visible = True
        mcombo.AddItem "test"
        mcombo.AddItem "hello"
      

  3.   

    上面是添加combobox,添加lable类似
      

  4.   

    //用load combo1(i)提示错误,请教高手如何做你需要现在窗体上画一个combo1,同时设定其index属性为0
      

  5.   

    在设计时窗体上应该有一个Combox和Lable,且其index属性为0。然后 你才可以使用Load
      

  6.   

    楼主将以下代码复制到文本文档,然后保存为form1.frm,在用VB打开,运行即可。
    VERSION 5.00
    Begin VB.Form Form1 
       Caption         =   "Form1"
       ClientHeight    =   2835
       ClientLeft      =   60
       ClientTop       =   345
       ClientWidth     =   7350
       LinkTopic       =   "Form1"
       ScaleHeight     =   2835
       ScaleWidth      =   7350
       StartUpPosition =   3  '窗口缺省
       Begin VB.CommandButton Command2 
          Caption         =   "新建标签"
          Height          =   375
          Left            =   4845
          TabIndex        =   3
          Top             =   795
          Width           =   1125
       End
       Begin VB.ComboBox Combo1 
          Height          =   300
          Index           =   0
          Left            =   180
          TabIndex        =   1
          Text            =   "Combo1"
          Top             =   195
          Width           =   1350
       End
       Begin VB.CommandButton Command1 
          Caption         =   "新建下拉框"
          Height          =   495
          Left            =   4770
          TabIndex        =   0
          Top             =   75
          Width           =   1215
       End
       Begin VB.Label Label1 
          Caption         =   "Label1"
          Height          =   345
          Index           =   0
          Left            =   2730
          TabIndex        =   2
          Top             =   180
          Width           =   1065
       End
    End
    Attribute VB_Name = "Form1"
    Attribute VB_GlobalNameSpace = False
    Attribute VB_Creatable = False
    Attribute VB_PredeclaredId = True
    Attribute VB_Exposed = False
    Option ExplicitPrivate Sub Command1_Click()
    Static Index As Integer
        Index = Index + 1
        Load Combo1(Index)
        With Combo1(Index)
            .Text = "我是下拉框" & Index
            .Visible = True
            .Top = Combo1(Index - 1).Top + Combo1(Index - 1).Height + 50
        End With
    End SubPrivate Sub Command2_Click()
    Static Index As Integer
        Index = Index + 1
        Load Label1(Index)
        With Label1(Index)
            .Caption = "我是下标签" & Index
            .Visible = True
            .Top = Label1(Index - 1).Top + Label1(Index - 1).Height + 50
        End With
    End Sub
      

  7.   

    Dim mcombo As ComboBox
        Set mcombo = Controls.Add("vb.combobox", "mcombo")
        mcombo.Visible = True
        mcombo.AddItem "test"
        mcombo.AddItem "hello"
    //
     同意
      

  8.   

    不建议楼主使用Controls对象来添加,因为那样的话处理事件过于烦琐。
      

  9.   

    方法1、在设计时窗体上应该有一个Combobox和Lable,且其index属性为0。
        load comb1(i) 'i不能与已经加载的相同
    方法2、Dim mcombo As ComboBox
        Set mcombo = Controls.Add("vb.combobox", "mcombo")
        mcombo.Visible = True
        mcombo.AddItem "test"
      如果是数组的话,处理事件比控件数组麻烦,好处是不需要先放置一个隐藏的控件。