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

3

我将列表框控件中的DrawMode设置为OwnerDrawFixed,以便可以对某些项进行着色。当一个项目太长而无法适应列表框的水平空间时,不会出现水平滚动条。

如何使滚动条出现?

2个回答

5
你需要在OwnerDrawFixed模式下设置listbox的HorizontalExtent属性。
    listBox1.HorizontalExtent = xx; //xx can be maximum size list box item fills

为了确定应该设置HorizontalExtent的值,请对列表框中的字符串使用以下方法并获取Width属性:

TextRenderer.MeasureText(text, listBox1.font)

将HorizontalExtent设置为MeasureText返回的最大宽度值。


我添加了一个编辑来解释应该将HorizontalExtent设置为什么。基本上,它的值是TextRenderer.MeasureText(text, listBox1.font).Width。 - Nick

0

只有在设置DrawMode属性为OwnerDrawVariable时,才会触发该事件。 - SHIN JaeGuk

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