Listbox:将ComboBox添加为Item?

3

能否将列表框的每个项目都制作为组合框? 我需要这样做是因为我将列表框设置为可选中,并且我需要使用户选择列表中每个元素的不同选项。

谢谢!

2个回答

5

如果您不打算分发应用程序,那么您也可以查看TreeView控件。请参见此示例。

代码

Private Sub CommandButton1_Click()
    With TreeView1.Nodes
        .Add , , "R1", "Root 1"
        .Add "R1", tvwChild, , "Test 1"
        .Add "R1", tvwChild, , "Test 2"
        .Add "R1", tvwChild, , "Test 3"
        .Add "R1", tvwChild, , "Test 4"
        .Add "R1", tvwChild, , "Test 5"

        .Add , , "R2", "Root 2"
        .Add "R2", tvwChild, , "Test 11"
        .Add "R2", tvwChild, , "Test 22"
        .Add "R2", tvwChild, , "Test 33"
        .Add "R2", tvwChild, , "Test 44"
        .Add "R2", tvwChild, , "Test 55"
    End With
End Sub

截图

在此处输入图片描述

使用该控件

要使用 Treeview 控件,您的系统必须已注册 MSCOMCTL.OCX。然后,您可以通过右键单击来添加控件

截图

在此处输入图片描述

设计时截图

在此处输入图片描述

下载 OCX

如果您没有 OCX,则可以从这里下载。


2
+1 你的回答总是令我惊叹不已。你详细描述了应该遵循的每一个步骤,而且还配有图片 :) - Kartik Anand
1
谢谢Kartik :) 这是因为答案不仅针对“提问者”,而且针对任何在这里寻找类似问题的人 ;) - Siddharth Rout
通用控件库在64位安装中不可用(http://office.microsoft.com/zh-cn/word-help/choose-the-32-bit-or-64-bit-version-of-microsoft-office-HA010369476.aspx#_Toc254341418) - Fionnuala
@remou: 它不支持 Office 64 位,但可用于在 64 位 Windows 上运行的 Office 32 位。 - Siddharth Rout

3
你可以通过用数据表视图下的子表格替换列表框来实现这样的效果。
你需要提供复选框以模拟多选操作,并在第二列中使用列表框。

对我来说,这似乎是一个明智的解决方案。一般来说,我更喜欢使用连续表单而不是数据表,因为它可以提供更好的控制水平,但是各有所好 :) - Fionnuala
@Remou:在数据表视图中拥有一个表单,基本上可以给你与表单视图相同的控制水平:事件、组合框...只是稍微少了一些美化选择。或者我漏掉了什么? - iDevlop
页眉和页脚不仅仅是装饰性的元素。此外,布局从装饰性转变为数据输入的重要部分是在什么时候?数据表中最后一个控件是什么? - Fionnuala

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接