internal protected virtual bool OnMouseUp(MouseEventArgs e)
        {
            //base.OnMouseUp(e);
            if (!DisableMouseEvents)
            {
                if (this.OwnerControl.CausesValidation && this.ValidationCancelled)
                {
                    return(true);
                }
                if (this.OwnerControl.Capture && this.ItemCapture != null)
                {
                    this.ItemCapture.CallDoMouseUp(e);
                }
                else if (this.selectedElement != null)
                {
                    this.selectedElement.CallDoMouseUp(e);
                }
                else //test if mouse is over any elemenet, select it and call mouse up
                {
                    //note we do not call the following method, because on after a modal dialog closed, windows sends MouseUp
                    //event without subsequent MouseLeave !
                    //this.SelectElementOnMouseOver(e);

                    RadElement elementUnderMouse = this.Owner.ElementTree.GetElementAtPoint(
                        this.Owner.ElementTree.RootElement, e.Location, null);
                    if (elementUnderMouse != null)
                    {
                        elementUnderMouse.CallDoMouseUp(e);
                    }
                }
            }
            return(false);
        }