Как узнать длину (размер) полосы прокрутки? - PullRequest
1 голос
/ 04 июня 2010

Как уточнить длину (размер) вертикальной полосы прокрутки? У меня есть 5 страниц в документе, для перехода в нижнюю часть которого используется команда 5 страниц вниз. Я хочу узнать длину полосы прокрутки, которую в общей сложности будут занимать пять страниц. Есть ли способ узнать общую длину / размер полосы прокрутки для этого в C #?

1 Ответ

0 голосов
/ 08 мая 2011

Я предполагаю, что вы используете стандартный элемент управления .net VScrollBar. Элемент управления имеет свойства Maximum и Value. Максимум контролирует максимальное значение для значения. Существуют также свойства SmallChange и LargeChange, которые необходимо установить.

Также я предполагаю, что вам нужно будет изменить максимальное значение в зависимости от документа, который вы читаете, поэтому вы установите их в коде в зависимости от времени разработки.

Таким образом, в вашем сценарии выше, мы могли бы написать следующий код, чтобы получить желаемое поведение привязки к каждой из 5 позиций при прокрутке или перемещении вверх и вниз.

void LoadDocument(string documentName) {
    //...
    int pages=doc.PageCount; // assume 5 for now
    vScrollBar1.Maximum = pages;
    vScrollBar1.Value = 0; // set it to the first page on load.
    vScrollBar1.LargeChange = 1; // this forces page-by-page navigation. 
                            //(Not recommended on large documents, FYI)
    // ...
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...