Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Разработка Windows Forms > ScrollBars в ListBox


Автор: Ch0bits 19.5.2006, 18:26
Как определить видны ли ScrollBar'ы?
Как определить ширину вертикального ScrollBar'а?  

Автор: sammix 21.5.2006, 11:50
ListBox наследуется от ScrollableControl.
Смотри проперти AutoScrollMinSize и AutoScrollPosition.

а зачем собсна тебе ширина ? без нее не обойтись ??? 

Автор: Ch0bits 21.5.2006, 20:30
Цитата(sammix @  21.5.2006,  11:50 Найти цитируемый пост)
а зачем собсна тебе ширина ? без нее не обойтись ??? 

Чтобы определить ширину доступную для отрисовки, когда элементов больше, чем помещается в видимую область.

Нашёл альтернативный способ определения видимости ScrollBar'ов.  smile 
Код

        private bool IsScrollBarExists(ListBox box)
        {
            int sum = 0;
            for (int i = 0; i < box.Items.Count; i++)
            {
                sum += box.GetItemHeight(i);
                if (sum > box.Height) return true;
            }
            return false;
        }
 

Автор: sammix 21.5.2006, 21:29
насчёт ширины скролла, у тебя есть AutoScrollMinSize.

или я не так понял проблему. 

Автор: Ch0bits 21.5.2006, 22:57
Нет там такого свойства.  smile 
ListBox происхождение от: MarshalByRefObject -> Component -> Control -> ListControl -> ListBox 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)