Добавить готовый кастомный VScrollBar к Panel и реализовать его работу
Цена договорная
Есть C# Winforms десктопное приложение.
Имеется готовый кастомный VScrollBar, без стрелок вверх, вниз (так задумано). Методы отрисовки и стили (цвет, размер) уже готовы. Сам Thumb (ползунок) уже перемещается по вертикали через MouseWheel, а также через MouseMove при зажатом курсоре мыши на Thumb (ползунке).
Суть задачи: Необходимо сделать так чтобы он мог скроллить содержимое панели, грубо говоря подружить его с панелью.
1. Прокрутка колесом мыши должна скроллить контент панели (причем не только если курсор мыши находится на скроллбаре, но и если курсор над самой панелью)
2. Нажатие курсором на свободную от позлунка область скроллбара должно изменять текущее Value (и положение ползунка) на LargeStep,а также должен скроллиться контент панели. В текущий момент ползунок перемещается в то место куда был сделан клик, без учета LargeStep.
3. Нажатие курсором на свободную от ползунка область скроллбара и удержание левой кнопки мыши, должно изменять текущее Value (и положение ползунка) на LargeStep, а также должен скроллиться контент панели, при дальнейшем удерживании левой кнопки мыши, должен выполняться дальнейший скроллинг до того места где зажат курсор. Так работает дефолтный скроллбар.
4. Если имеется фокус над панелью или скроллбаром, то при нажатии на кнопки клавиатуры:
4.1. Arrow Up - Value уменьшается на величину SmallStep и выполняется скроллинг
4.2. Arrow Down - Value увеличивается на величину SmallStep и выполняется скроллинг
4.3. Page Up - Value уменьшается на величину LargeStep и выполняется скроллинг
4.4. Page Down - Value увеличивается на величину LargeStep и выполняется скроллинг
В приложенном изображении, панель с внутренним контентом обведена линией, на кастомный скроллбар указывает стрелка.
Имеется готовый кастомный VScrollBar, без стрелок вверх, вниз (так задумано). Методы отрисовки и стили (цвет, размер) уже готовы. Сам Thumb (ползунок) уже перемещается по вертикали через MouseWheel, а также через MouseMove при зажатом курсоре мыши на Thumb (ползунке).
Суть задачи: Необходимо сделать так чтобы он мог скроллить содержимое панели, грубо говоря подружить его с панелью.
1. Прокрутка колесом мыши должна скроллить контент панели (причем не только если курсор мыши находится на скроллбаре, но и если курсор над самой панелью)
2. Нажатие курсором на свободную от позлунка область скроллбара должно изменять текущее Value (и положение ползунка) на LargeStep,а также должен скроллиться контент панели. В текущий момент ползунок перемещается в то место куда был сделан клик, без учета LargeStep.
3. Нажатие курсором на свободную от ползунка область скроллбара и удержание левой кнопки мыши, должно изменять текущее Value (и положение ползунка) на LargeStep, а также должен скроллиться контент панели, при дальнейшем удерживании левой кнопки мыши, должен выполняться дальнейший скроллинг до того места где зажат курсор. Так работает дефолтный скроллбар.
4. Если имеется фокус над панелью или скроллбаром, то при нажатии на кнопки клавиатуры:
4.1. Arrow Up - Value уменьшается на величину SmallStep и выполняется скроллинг
4.2. Arrow Down - Value увеличивается на величину SmallStep и выполняется скроллинг
4.3. Page Up - Value уменьшается на величину LargeStep и выполняется скроллинг
4.4. Page Down - Value увеличивается на величину LargeStep и выполняется скроллинг
В приложенном изображении, панель с внутренним контентом обведена линией, на кастомный скроллбар указывает стрелка.
- Файлы
Отзывы
В заказе есть исполнитель
При переводе заказа из архивного в актуальный, текущий исполнитель будет снят с задачи.
Выберите тип сделки
С безопасной сделкой вы всегда сможете вернуть средства, если что-то пойдет не так. С простой сделкой вы самостоятельно договариваетесь с исполнителем об оплате и берете на себя решение конфликтов.
Задание выполнено качественно, четко по требованиям и в срок.
Рад сотрудничеству.