/// <summary>
        /// Mouse has left the view.
        /// </summary>
        /// <param name="c">Reference to the source control instance.</param>
        /// <param name="next">Reference to view that is next to have the mouse.</param>
        public virtual void MouseLeave(Control c, ViewBase next)
        {
            // Only if mouse is leaving all the children monitored by controller.
            if (!_target.ContainsRecurse(next))
            {
                if (Enabled)
                {
                    // Mouse is no longer over the target
                    _target.Tracking = false;
                }

                // If leaving the view then cannot be capturing mouse input anymore
                _captured = false;
                PerformNeedPaint();
            }
        }