我将列表框控件中的DrawMode设置为OwnerDrawFixed,以便可以对某些项进行着色。当一个项目太长而无法适应列表框的水平空间时,不会出现水平滚动条。
如何使滚动条出现?
listBox1.HorizontalExtent = xx; //xx can be maximum size list box item fills
为了确定应该设置HorizontalExtent的值,请对列表框中的字符串使用以下方法并获取Width属性:
TextRenderer.MeasureText(text, listBox1.font)
将HorizontalExtent设置为MeasureText返回的最大宽度值。
你需要使用ListBox.MeasureItem
事件。请参考MSDN页面上的示例。