VB编程,怎么使用ComboBox控件实现下拉框列表功能?具体问题如下图

 我来答
网海1书生
科技发烧友

推荐于2017-09-06 · 擅长软件设计、WEB应用开发、小程序
网海1书生
采纳数:12310 获赞数:26223

向TA提问 私信TA
展开全部

首先建议你使用DirListBox和FileListBox控件来实现你的功能,那么它们之间要实现关联将会非常简单,只需一个语句即可。


如果一定要用这种普通的ComboBox控件来实现,则可以这样(假定上面那个是Combo1,下面的是Combo2):

Private Sub Combo1_Click()
Dim d As String
Combo2.Clear
d = Dir(App.Path & "\" & Combo1.Text & "\*.*")
Do Until d = ""
    Combo2.AddItem d
    d = Dir
Loop
End Sub

Private Sub Combo2_Click()
    MsgBox "你选中的文件名是" & Combo2.Text
End Sub
追问
你好,用FileListBox控件,它的样式框不能改变,我要下拉框。你能写一个实例打包发给我吗?我刚才试了你的代码,
问题1:如何在运行时Combo1即载入当前目录所有目录名称列表呢?
问题2:如何在选中某个目录时, combo2关联相应目录下的所有文件列表呢?
追答

问题1:

Private Sub Form_Load()
Dim d As String
Combo1.Clear
d = Dir(App.Path & "\*.*", vbDirectory)
Do Until d = ""
    If d <> "." And d <> ".." And (GetAttr(App.Path & "\" & d) And vbDirectory) = vbDirectory Then Combo1.AddItem d
    d = Dir
Loop
End Sub

把我的两段代码结合起来,那么问题2就不再是问题了。

TableDI
2024-07-18 广告
在上海悉息信息科技有限公司,我们深知Excel在数据处理中的重要作用。在Excel中引用不同工作表(sheet)的数据是常见的操作,这有助于整合和分析跨多个工作表的信息。通过在工作表名称前加上感叹号“!”,您可以轻松地引用其他工作表中的数据... 点击进入详情页
本回答由TableDI提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式