有二个数组,a(5)记录值,B(5)记录文本,请问如何将数组加入下拉框中,
For i = 1 To 5
Combo4.AddItem a(i)
NEXT
只能加值,不能加内容
 

解决方案 »

  1.   

    看一下控件的ItemData 属性和 NewIndex 属性就可以解决了
      

  2.   

    你想把内容加在什么下拉框中?如是列表框中,可以这样:For i = 1 To 5 
        Combo4.AddItem a(i) 
         list1.additem b(i) '或者Combo4.AddItem b(i) & a(i)     
    NEXT 
      

  3.   

    搞不懂楼主的思维, 猜一猜吧Command2 是一般的作法, 因每个.txt内容不会是一样的,那能用 a(5)来代替 ?你看看 Command1 吧Option Explicit
    Dim i%, j%, a$(5), b$(5), fname$, aa$, s
    Private Sub Form_Load()
       s = Array("", "1.txt", "2.txt", "3.txt", "4.txt", "5.txt")
       For i = 1 To 5
          b(i) = s(i) '.txt文本数组
          a(i) = String(6, CStr(i)) '每一文本里面的内容
       Next i
    End SubPrivate Sub Command1_Click()
       Combo4.Clear
       For i = 1 To 5
          For j = 1 To 5
             Combo4.AddItem b(i) & " " & a(j)
          Next j
       Next i
    End SubPrivate Sub Command2_Click()
       Combo4.Clear
       For i = 1 To 5
          fname = b(i)
          Open fname For Input As #1
          While Not EOF(1)
             Line Input #1, aa
             Combo4.AddItem aa
          Wend
          Close #1
       Next i
    End Sub
      

  4.   

    for i=1 to 5
       combo4.additem b(i)
       combo4.itemdata(combo4.newindex)=a(i)
    next如果要同时显示两列,部件可用microsoft forms 2.0 object library中的combobox
    设置combo4.ColumnCount=2显示两列 
    for i=1 to 5
       combo4.additem a(i)
       combo4.List(combo4.ListCount - 1, 1) =b(i)
    next
      

  5.   

    取值,也是取itemdata属性啊selectText=Combo4.List(combo4.ListIndex)   '显示文本
    selectID=combo4.ItemData(combo4.ListIndex) '文本对应的long值
      

  6.   

    简单,ComboBox 的设计者预先想到了:Private Sub Form1_Load()
    For i = 0 To Ubound(a)
        Combo1.AddItem b(i)
        Combo1.ItemData(Combo1.NewIndex) = a(i)   '注意,值不能超过 Long 型
    Next i
    End SubPrivate Sub Combo1_Click()
        MsgBox Combo1.ItemData(Combo1.ListIndex)
    End Sub