如何用代码修改combobox下拉列表?

 我来答
大大的Wiener
2018-03-14 · TA获得超过6.4万个赞
知道大有可为答主
回答量:392
采纳率:90%
帮助的人:33.2万
展开全部

用代码修改ComboBox中列表项,动态修改列表框中显示项目的实现方法如下:

(1)在Form1上布置控件,如下图所示

将Combo1的Style属性修改为:2 - DropDownList

(2)Form1代码

Option Explicit
 
' 自定义类型:列表框中显示的项目
Private Type ItemType
    Name As String       '名称
    Category As Integer  '类别编码
End Type
 
'------------------------------------------------------
' BuildComboItems
' BuildComboItems子程序动态修改列表框要显示的内容
'   Items() As ItemType 是要显示内容数组
'------------------------------------------------------
Private Sub BuildComboItems(Items() As ItemType)
    Dim i As Integer
    With Combo1
        ' 清空Combo1原来的内容        
        .Clear
        ' 将内容数组Items各项添加到Combo1
        For i = LBound(Items) To UBound(Items)
            '在Combo1中显示“名称”
            .AddItem Items(i).Name
            '项目数据为改项目的类别编码
            .ItemData(.NewIndex) = Items(i).Category
        Next
        If .ListCount > 0 Then
            '默认选择第一项
            .ListIndex = 0
        End If
    End With
End Sub
 
Private Sub Combo1_Click()
    '单击Combo1后,Label1显示用户的选择结果
    Dim description As String
    With Combo1
        description = "品名:" + .Text + " 类别:" + CStr(.ItemData(.ListIndex))
    End With
    Label1.Caption = description
End Sub
 
Private Sub Command1_Click()
    ' 创建“水果类”项目数组
    Dim Fruits(1 To 4) As ItemType
     
    Fruits(1).Name = "苹果"
    Fruits(1).Category = 1
     
    Fruits(2).Name = "橘子"
    Fruits(2).Category = 2
     
    Fruits(3).Name = "香蕉"
    Fruits(3).Category = 3
     
    Fruits(4).Name = "草莓"
    Fruits(4).Category = 4
     
    ' 在Combo1中动态添加水果类项目    
    BuildComboItems Fruits
End Sub
 
Private Sub Command2_Click()
    ' 创建“主食类”项目数组    
    Dim Food(1 To 4) As ItemType
     
    Food(1).Name = "米饭"
    Food(1).Category = 10
     
    Food(2).Name = "面条"
    Food(2).Category = 11
     
    Food(3).Name = "饺子"
    Food(3).Category = 12
     
    Food(4).Name = "包子"
    Food(4).Category = 13
 
    ' 在Combo1中动态添加“主食类”项目    
    BuildComboItems Food
End Sub
 
Private Sub Form_Load()
    Command1.Caption = "水果类"
    Command2.Caption = "主食类"
    Label1.Caption = ""
    Combo1.Clear
End Sub

(3)运行效果

启动时

单击“水果类”命令按钮后

单击“主食类”命令按钮后

HeXian000
2018-01-05 · TA获得超过339个赞
知道小有建树答主
回答量:502
采纳率:0%
帮助的人:368万
展开全部
没有同时添加很多项的写法

Combo1.Clear
Combo1.AddItem "天空"
Combo1.AddItem "海洋"
Combo1.AddItem "大地"
Combo1.ListIndex=0 '(这句可加可不加、作用自己试)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式