Скроллинг на форме посредством мышки - Visual Basic .NET

Узнай цену своей работы

Формулировка задачи:

Есть форма на которой есть Panel1 в котором расположены контролы, если контролов создается много то появляются скроллбары. Вопрос знатокам) как сделать скроллинг не тасканием полосок скроллбара, а посредством простого зажатия ср.кн. мыши - к примеру. Есть какие-либо примеры на эту тему?
уточню - т.е. мне нужен пример как программно передвигать ползунки скроллбара на контроле.

Решение задачи: «Скроллинг на форме посредством мышки»

textual
Листинг программы
  1. Public Class Form3
  2.     Private LocationCursor As Point
  3.     Private LocationCursorOffset As Point
  4.     Private LocationPaint As Point
  5.     Private Sub Panel1_MouseDown(sender As System.Object, e As System.Windows.Forms.MouseEventArgs) Handles Panel1.MouseDown
  6.         If e.Button = Windows.Forms.MouseButtons.Right Then
  7.             Me.Cursor = Cursors.SizeAll
  8.             LocationCursor = Cursor.Position
  9.         End If
  10.     End Sub
  11.     Private Sub Panel1_MouseMove(sender As System.Object, e As System.Windows.Forms.MouseEventArgs) Handles Panel1.MouseMove
  12.         If e.Button = Windows.Forms.MouseButtons.Right Then
  13.             LocationCursorOffset = Cursor.Position - LocationCursor
  14.             LocationPaint += LocationCursorOffset
  15.             LocationCursor = Cursor.Position
  16.             Panel1.AutoScrollPosition = LocationPaint
  17.         End If
  18.     End Sub
  19.     Private Sub Panel1_MouseUp(sender As System.Object, e As System.Windows.Forms.MouseEventArgs) Handles Panel1.MouseUp
  20.         Me.Cursor = Cursors.Default
  21.     End Sub
  22. End Class

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 3.923 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут