public override void Setup() { base.Setup(); Size = new Point(Size.X, Parent.Size.Y); _itemsContainer.Position = Position; _itemsContainer.Setup(); UpButton.Setup(); DownButton.Setup(); SliderButton.Setup(); UpButton.Position = new Point(Left, Top); DownButton.Position = new Point(Left, Parent.Height - DownButton.Height); SliderButton.Position = new Point(Left, UpButton.Bottom + CurrentScrollValue); _itemsContainer.AddItem(UpButton.Position, UpButton); _itemsContainer.AddItem(DownButton.Position, DownButton); _itemsContainer.AddItem(SliderButton.Position, SliderButton); _scrollEvent.onScroll += ScrollBar_onScrollEvent; UpButton.MouseEvent.onMouseClick += (sender, args) => { var slider = _itemsContainer[SliderButton].Position; _itemsContainer.UpdateSlot(SliderButton, new Point(slider.X, slider.Y - 1)); _scrollEvent.OnScroll(Parent, ScrollDirection.UP, -1); }; DownButton.MouseEvent.onMouseClick += (sender, args) => { var slider = _itemsContainer[SliderButton].Position; _itemsContainer.UpdateSlot(SliderButton, new Point(slider.X, slider.Y + 1)); _scrollEvent.OnScroll(Parent, ScrollDirection.DOWN, 1); }; }