public override bool MouseDown(MouseInputEventArgs e)
        {
            if (disposing || !IsVisible())
            {
                return(false);
            }

            if (scrollbarH.MouseDown(e))
            {
                SetFocus(scrollbarH);
                return(true);
            }
            if (scrollbarV.MouseDown(e))
            {
                SetFocus(scrollbarV);
                return(true);
            }

            if (ClientArea.Contains(new Point((int)e.Position.X, (int)e.Position.Y)))
            {
                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)
                {
                    if (component.MouseDown(modArgs))
                    {
                        SetFocus(component);
                        return(true);
                    }
                }
                return(true);
            }

            return(false);
        }
        public override bool MouseDown(MouseButtonEventArgs e)
        {
            if (disposing || !IsVisible())
            {
                return(false);
            }

            if (scrollbarH.MouseDown(e))
            {
                SetFocus(scrollbarH);
                return(true);
            }
            if (scrollbarV.MouseDown(e))
            {
                SetFocus(scrollbarV);
                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)
                {
                    if (component.MouseDown(modArgs))
                    {
                        SetFocus(component);
                        return(true);
                    }
                }
                return(true);
            }

            return(false);
        }