public bool HandleMouseMove(MouseEventArgs e) { if (e.Button != MouseButtons.Left) { return(false); } Cursor.Current = handCursor; var x = Cursor.Position.X; if (_thresholdReached) { var diff = _lastX - x; _lastX = x; _state.Scroll(diff, true); } else if (Math.Abs(x - _lastX) > _thresholdX) { _thresholdReached = true; } return(true); }