public override bool MouseUp(MouseButtonEventArgs e)
        {
            if (disposing || !IsVisible())
            {
                return(false);
            }
            if (scrollbarH.MouseUp(e))
            {
                return(true);
            }
            if (scrollbarV.MouseUp(e))
            {
                return(true);
            }

            if (ClientArea.Contains(e.X, e.Y))
            {
                MouseButtonEvent mbe = new MouseButtonEvent();
                mbe.X      = e.X - (Position.X + (int)scrollbarH.Value);
                mbe.Y      = e.Y - (Position.Y + (int)scrollbarV.Value);
                mbe.Button = e.Button;

                MouseButtonEventArgs modArgs = new MouseButtonEventArgs(mbe);

                foreach (GuiComponent component in components)
                {
                    component.MouseUp(modArgs);
                }
            }
            return(false);
        }
        public override bool MouseUp(MouseInputEventArgs e)
        {
            if (disposing || !IsVisible())
            {
                return(false);
            }
            if (scrollbarH.MouseUp(e))
            {
                return(true);
            }
            if (scrollbarV.MouseUp(e))
            {
                return(true);
            }

            var modArgs = new MouseInputEventArgs
                              (e.Buttons,
                              e.ShiftButtons,
                              new Vector2D(e.Position.X - Position.X + scrollbarH.Value, e.Position.Y - Position.Y + scrollbarV.Value),
                              e.WheelPosition,
                              e.RelativePosition,
                              e.WheelDelta,
                              e.ClickCount);

            foreach (GuiComponent component in components)
            {
                component.MouseUp(modArgs);
            }

            return(false);
        }