public override bool DoesCurrentMouseDownEndAllTracking(Message m, Point pt)
{
if (_appButtonBottom.Visible)
{
// If mouse is over the top half of the button (which is in the non-client area of
// the owner ribbon) then we do not want to end all tracking from this method. Otherwise
// if the mouse is inside the bottom half of the button then we do end tracking!
if (RectangleToClient(_rectAppButtonTopHalf).Contains(pt))
return false;
else if (ClientRectangle.Contains(pt) && _appButtonBottom.ClientRectangle.Contains(pt))
return true;
}
return base.DoesCurrentMouseDownEndAllTracking(m, pt);
}