7

我有一个带有视图的 WinForms 应用程序,其中用户从组合框中的预定义时间跨度列表中选择一个时间跨度,它的 DropDownStyle 属性设置为 DropDownList。

现在,要求发生了变化。用户将需要能够从时间跨度列表中进行多项选择。

是否可以在 ComboBox 中进行多项选择?当 ComboBox 折叠时,您如何呈现这些选项?不要忘记可用性方面。

是否存在可以满足我的用户需求的其他控件(内置或第 3 方,最好是某种下拉菜单)?

更新:误导性标题...

4

6 回答 6

6

我同意@Thomas Owens 在可用性方面的观点。如果您选择多个项目,那么用户应该能够看到所有被选中的项目。也许一个选中的列表框可以解决这个问题。

如果您仍然对使用下拉类型的控件感兴趣,请查看 DevExpress 编辑器工具包。我刚刚浏览了他们的演示,有一个名为PopupContainerEdit的控件,它允许您弹出带有复选框的项目列表。当弹出窗口折叠时,您始终可以将项目显示为逗号分隔的列表。(尽管如果列表比框长,这可能无法使用)

于 2008-10-03T11:45:47.670 回答
5

即使有可能,我也会建议更改输入类型。当我看到一个下拉框时,我想我必须选择一个。选择多个选项的能力(甚至如何)可能会让您的用户望而却步。从可用性的角度来看,标准列表框可能更合适。

于 2008-10-03T11:36:20.117 回答
2

如果不编写一堆自定义代码,我认为它不可能开箱即用。

我不得不同意 Thomas,除了甚至建议可能使用选中列表框,因为 imo,比列表框更清楚的是要进行多项选择(并且您不需要帮助文本说多选,使用 ctrl)

于 2008-10-03T11:39:11.217 回答
1

我会改用 CheckedListBox。它使多项选择可视化,您可以选择多个条目。 是该课程的 Microsoft 链接。

于 2008-10-03T11:44:09.793 回答
0

Windows.Forms.ComboBox 不能提供多选。

于 2008-10-03T11:41:01.377 回答
0

您正在寻找ListBox

于 2008-10-03T11:46:31.927 回答