public virtual void MouseLeave(Control c, ViewBase next) { // Only if mouse is leaving all the children monitored by controller. if (!_target.ContainsRecurse(next)) { // Mouse is no longer over the target _mouseOver = false; // Update the visual state UpdateTargetState(c); } }