public override void MouseMove(MouseEventArgs e, Point rawPt)
{
Debug.Assert(e != null);
// Validate incoming reference
if (e == null) throw new ArgumentNullException("e");
// Should the group be active
bool tracking = _viewGroup.ClientRectangle.Contains(new Point(e.X, e.Y));
// Is there a change in active group?
if (tracking != _viewGroup.Tracking)
{
_viewGroup.Tracking = tracking;
_viewGroup.PerformNeedPaint(false, _viewGroup.ClientRectangle);
}
// Remember to call base class for standard mouse processing
base.MouseMove(e, rawPt);
}