protected override void OnMouseMove(System.Windows.Forms.MouseEventArgs e) { base.OnMouseMove(e); // Set cursor Cursor newCursor = Cursors.Default; if (drag != null) { newCursor = drag.Cursor; } else { // Check if the mouse is by any chance over the rectangle if (rcView.Contains(e.X, e.Y)) { newCursor = Cursors.Hand; } } Cursor = newCursor; // Update drag operation if (drag != null) { drag.Update(e.X, e.Y); } // Check auto scroll if (autoScroll) { CheckAutoScroll(e); } }