下拉列表模式中的组合框 - 使列表项高度与组合框项高度不同?

时间:2012-10-15 12:47:23

标签: c# winforms combobox

我想实现一个组合框(在下拉列表模式下),其中下拉列表中的项目高度为64,但下拉列表项目在正常高度显示。这里的用例是一个包含文件名的列表,旁边有一个图像缩略图。我希望普通显示器具有一个小缩略图的正常高度,但相关的下拉列表中的缩略图要大得多。

当我尝试修改项目高度时,整个组合框都设置为容纳它,而不仅仅是下拉列表(我完全合情合理)。

这可能吗?

感谢您的任何提示。

罗宾

2 个答案:

答案 0 :(得分:1)

也许您可以使用OwnerDraw模式?此示例显示了一个带有自定义高度分隔符项的示例,但我猜您可以将相同的原则应用于组合框中的所有项目。

http://blogs.msdn.com/b/jfoscoding/archive/2005/08/26/456977.aspx

答案 1 :(得分:1)

我相信您需要绘制Combobox所有者并使用Measure事件。 Event传递MeasureItemEventArgs,其中包括正在绘制的项目的索引。

以下是Microsoft文档Combobox.Measure event

中的示例