public override WindowlessControlMessage OnMouseLeaveExt()
 {
     if (RelatedMessageControls.Count != 0)
     {
         MouseOverMessageExchangeMessage result = new MouseOverMessageExchangeMessage(this);
         isMouseOver = false;
         Invalidate();
         return(result);
     }
     return(null);
 }
 public override WindowlessControlMessage OnMouseEnterExt(Control parentControl, int x, int y)
 {
     if (RelatedMessageControls.Count != 0)
     {
         MouseOverMessageExchangeMessage result = new MouseOverMessageExchangeMessage(this, RelatedMessageControls);
         isMouseOver = true;
         Invalidate();
         return(result);
     }
     return(null);
 }
 public override void OnWindowlessControlMessageReceived(WindowlessControlMessage message)
 {
     if (message != null && message is MouseOverMessageExchangeMessage)
     {
         MouseOverMessageExchangeMessage mouseOverMessageExchangeMessage = (MouseOverMessageExchangeMessage)message;
         if (mouseOverMessageExchangeMessage.IsReverting && isMouseOver)
         {
             isMouseOver = false;
             Invalidate();
         }
         else if (!mouseOverMessageExchangeMessage.IsReverting && mouseOverMessageExchangeMessage.RelatedControls.Contains(this) && !isMouseOver)
         {
             isMouseOver = true;
             Invalidate();
         }
     }
 }