public override void MouseMove(MouseInputEventArgs e)
        {
            if (disposing || !IsVisible())
            {
                return;
            }
            scrollbarH.MouseMove(e);
            scrollbarV.MouseMove(e);

            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.MouseMove(modArgs);
            }

            return;
        }
        public override void MouseMove(MouseMoveEventArgs e)
        {
            if (disposing || !IsVisible())
            {
                return;
            }
            scrollbarH.MouseMove(e);
            scrollbarV.MouseMove(e);

            MouseMoveEvent mme = new MouseMoveEvent();

            mme.X = e.X - (Position.X + (int)scrollbarH.Value);
            mme.Y = e.Y - (Position.Y + (int)scrollbarV.Value);
            MouseMoveEventArgs modArgs = new MouseMoveEventArgs(mme);

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

            return;
        }