Как реализовать вертикальную полосу прокрутки в консольном приложении C # - PullRequest
3 голосов
/ 17 марта 2019

Я реализую шестнадцатеричный редактор в консоли. У меня отображается 2 «окна», один для шестнадцатеричных чисел и один для текста. Между ними я хочу визуализировать полосу прокрутки.

Вот фото для лучшего понимания.

2 Windows with scrollbar

Теперь мой вопрос:

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

У вас есть идеи, как решить это хорошо?


EDIT:

Мой класс Scrollbar на данный момент очень минималистичен: он содержит:

  • int numberOfSegments
  • int currentSegment
  • Точка положения

Рендерер знает, как нарисовать полосу прокрутки. Как вы думаете, этого достаточно для класса Scrollbar?

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