/// <summary> /// Should a mouse down at the provided point cause an end to popup tracking. /// </summary> /// <param name="m">Original message.</param> /// <param name="pt">Client coordinates point.</param> /// <returns>True to end tracking; otherwise false.</returns> public override bool DoesCurrentMouseDownEndAllTracking(Message m, Point pt) { // Convert point to the ribbon control coordinates Point screenPt = PointToScreen(pt); Point ribbonPt = _ribbon.PointToClient(screenPt); // If the base class wants to end tracking and not inside the ribbon control return(base.DoesCurrentMouseDownEndAllTracking(m, pt) && !_ribbon.ClientRectangleWithoutComposition.Contains(ribbonPt) && _captionArea.DoesCurrentMouseDownEndAllTracking(screenPt)); }