Бесконечная вертикальная прокрутка - PullRequest
3 голосов
/ 29 июня 2011

У меня есть приложение WinForms и панель управления. Панель управления имеет элемент управления VScrollBar для вертикальной прокрутки. Все работает отлично, за исключением того, что сейчас у меня максимальное значение VScrollBar установлено на 100. Проблема в том, что мне нужно, чтобы свойство Maximum было около 4 миллиардов, однако, поскольку Maximum - это всего лишь целое число, я не могу установить для него правильное значение , Итак, мой вопрос, как мне обойти это? Я знаю, что есть текстовые редакторы и средства просмотра файлов, которые утверждают, что просматривали более 4 гигабайт данных, так как же будет работать полоса прокрутки в таком приложении?

Ответы [ 3 ]

2 голосов
/ 29 июня 2011

Ну, вы можете просто установить Maximum для int.MaxValue и масштабировать полученное значение до вашего реального максимального значения.Это должно быть достаточно точным, чтобы избежать загрузки слишком большого количества данных.

2 голосов
/ 29 июня 2011

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

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

Если бы я реализовывал это, я бы установил максимальное значение полосы прокрутки, скажем, 10000. При использовании полосы прокрутки значение полосы прокрутки делится на 10000, чтобы получить процент, и редактор показывает этот раздел файла.

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

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

Вы используете процент.Нет необходимости устанавливать его равным количеству строк.

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