hsz 'improved solution, with scroll restriction, but I only allow vertical scrolling
protected Point clickPosition; protected Point scrollPosition; private void picBoxScan_MouseDown(object sender, MouseEventArgs e) { this.clickPosition.X = eX; this.clickPosition.Y = eY; } private void picBoxScan_MouseMove(object sender, MouseEventArgs e) { if (e.Button == MouseButtons.Left) { scrollPosition.X = panelViewFile.AutoScrollPosition.X; scrollPosition.Y = scrollPosition.Y + (clickPosition.Y - eY); scrollPosition.Y = Math.Min(scrollPosition.Y,panelViewFile.VerticalScroll.Maximum); scrollPosition.Y = Math.Max(scrollPosition.Y,panelViewFile.VerticalScroll.Minimum); panelViewFile.AutoScrollPosition = scrollPosition; } }
source share