Я не уверен, что это дублированный вопрос, но я не мог найти ответа на StackOverflow.Как перемещать значение полосы прокрутки в процентах в Winforms?
Заявление о проблемах: У меня есть сторонние средства просмотра изображений и средства просмотра в формате PDF. которые встроены в страницу C# WinForms. Я хочу контролировать движение прокрутки в процентах. Например, если я нажимаю клавишу «вниз», вертикальная полоса прокрутки должна опускаться до 20% высоты страницы. Я попытался с логикой ниже:
_imageViewer.VerticalScrollBar.Value += _imageHeight X ZoomFactor X .20
OR
_imageViewer.VerticalScrollBar.Value += pdfViewer1.VerticalScroll.Maximum X .20
Оба подхода не дают мне точного результата. Я думаю, мне также следует рассмотреть размер большого пальца полосы прокрутки, но я не знаю, как я могу получить эту ценность.
Пожалуйста, предложите мне любой хороший подход к перемещению полосы прокрутки в процентах от высоты или ширины изображения.
Scrollbars имеет большую волосатые проблемы удобства и простоту использования. Вызванный большим пальцем имеет ненулевой размер. Если он прокручивается полностью, вы должны рассмотреть верхнюю часть большого пальца, чтобы указать позицию. Если прокрутка полностью вниз, то нижняя часть большого пальца имеет значение. Так точно, когда он переключается сверху вниз? Нет стандартного ответа. Лучше всего рассмотреть диапазон полос прокрутки за вычетом большого пальца, чтобы определить положение, так что вы никогда не доберетесь до 100%. Размер большого пальца должен быть эквивалентен размеру страницы. –