用户也可以在其中输入自己的值的组合或下拉框?

Posted

技术标签:

【中文标题】用户也可以在其中输入自己的值的组合或下拉框?【英文标题】:Combo or drop-down box where user can enter own value as well? 【发布时间】:2012-02-21 03:39:14 【问题描述】:

您能否有一个组合框或下拉框,用户可以在其中从给定选项列表中进行选择,或者输入自己的值?

【问题讨论】:

【参考方案1】:

是的,这是标准ComboBox 控件的一个功能。它的精确行为取决于您为控件的Style 属性设置的值。以下是选项的简要介绍:

vbComboDropDown 是默认样式。组合框看起来像一个带有下拉箭头的单行文本框。用户可以在文本框中键入任意文本,也可以从下拉列表中选择一个预定义的选项。

vbComboSimple 为您提供旧的经典风格组合框。这实际上只是一个融合在列表框顶部的文本框(这就是组合框控件的名称!)。与默认样式一样,用户可以在顶部的文本框中键入任意文本,也可以从下面的列表框中选择一个预定义的选项。

此样式与默认样式之间唯一真正的区别是所有可用选项始终在屏幕上可见。它占用了更多的屏幕空间,但它使用户更容易准确地看到他们的选择是什么。

vbComboDropDownList 将生成一个看起来非常像第一个(默认)样式的组合框,除了用户将能够在文本框中键入任意文本。他们只能选择下拉列表中可用的预定义选项之一。

作为我尽力描述的补充,您还可以查看Microsoft's documentation for the Win32 Combo Box control,并附有屏幕截图。 VB 6 控件只是标准 Win32 控件的包装,因此您看到的所有内容对于 VB 6 应用程序都是相同的。唯一的区别是样式的名称——而不是设置CBS_* 标志之一,您使用vb* 常量之一。

在这种情况下,听起来您想要第一个选项,vbComboDropDown

【讨论】:

+1 另请参阅 VB6 文档:ComboBox 主页主题msdn.microsoft.com/en-us/library/aa267188(v=vs.60).aspx。样式属性msdn.microsoft.com/en-us/library/aa445715(v=vs.60).aspx【参考方案2】:

这通常被简单地称为组合框,但您必须指定您使用的小部件工具包,在 Cocoa 中这是一个 NSCombobox,在 java.swing 中它只是一个 swing.combobox,在 QT 中是一个 Qcombobox。

【讨论】:

这个问题已经发生了重大变化,因为它最初只是询问您是否可以在下拉菜单中输入值,并且没有指定框架。

以上是关于用户也可以在其中输入自己的值的组合或下拉框?的主要内容,如果未能解决你的问题,请参考以下文章

带组合框的用户表单-输入密钥行为

Qt Style Sheet实践:组合框QComboBox的定制(24K纯开源)——非常漂亮

C# winform datagridview 里的下拉框中 既可以从下拉框里选择数据,也可以让客户自己手动往里输入数据,怎

如何打造Android自定义的下拉列表框控件

带有用户表单上的建议列表的可搜索组合框

Access 2010:根据特定组合框条件过滤字段中包含多个值的报表