在ListBox中设置DrawMode会删除水平滚动条

时间:2011-06-05 02:12:39

标签: c# winforms listbox scroll scrollbar

我将列表框控件中的DrawMode设置为OwnerDrawFixed,以便我可以为某些项目着色。如果某个项目太长而无法放入列表框的水平空间,则不会出现水平方块。

如何显示滚动条?

2 个答案:

答案 0 :(得分:3)

你应该在OwnerDrawFixed模式中设置listbox的Horizo​​ntalExtent属性

    listBox1.HorizontalExtent = xx; //xx can be maximum size list box item fills

要确定应设置Horizo​​ntalExtent的值,以便对列表框中的字符串使用以下方法并获取Width属性:

TextRenderer.MeasureText(text, listBox1.font)

将Horizo​​ntalExtent设置为MeasureText返回的最大宽度值

答案 1 :(得分:0)

您必须使用ListBox.MeasureItem事件。请参阅msdn页面中的示例。