Установка DrawMode в ListBox удаляет горизонтальную полосу прокрутки - PullRequest
1 голос
/ 05 июня 2011

Я установил DrawMode в моем элементе управления listbox на OwnerDrawFixed, чтобы я мог раскрасить некоторые элементы. Когда элемент слишком длинный, чтобы поместиться в горизонтальном пространстве списка, горизонтальная прокрутка не появляется.

Как сделать так, чтобы полоса прокрутки появилась?

Ответы [ 2 ]

3 голосов
/ 05 июня 2011

Вы должны установить свойство HorizontalExtent списка в режиме OwnerDrawFixed

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

Чтобы определить значение, которое следует установить для HorizontalExtent, используйте следующий метод для строк в вашем списке и получите свойство Width:

TextRenderer.MeasureText(text, listBox1.font)

Установить горизонтальный экстент равным наибольшему значению ширины, которое возвращает MeasureText

0 голосов
/ 05 июня 2011

Вам нужно будет использовать событие ListBox.MeasureItem. Смотрите пример на странице MSDN.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...