public void Update(int ScrollWheelValue, Point MousePosition) { if (GameMath.Contain(Position, MousePosition)) { if (ListViewState == ControlState.None) { lastScrollWheelValue = ScrollWheelValue; } ListViewState = ControlState.MouseMove; } else { ListViewState = ControlState.None; } if (ListViewState == ControlState.MouseMove) { deflect += (ScrollWheelValue - lastScrollWheelValue) / 10; lastScrollWheelValue = ScrollWheelValue; } int index = 0; foreach (GameListViewItem listViewItem in ListViewItems) { listViewItem.Position = getAbsPosition(index); listViewItem.Update(); index++; } }
public void Update(Point MousePosition, ButtonState MouseButtonState) { if (GameMath.Contain(Position, MousePosition)) { if (MouseButtonState == ButtonState.Pressed) { State = ControlState.MouseDown; } else { //Click event detect if (State == ControlState.MouseDown) { Click(); } State = ControlState.MouseMove; } } else { State = ControlState.None; } Content.Location = new Point(Position.X + (Size.X - Content.PrintedSize.X) / 2, Position.Y + (Size.Y - Content.PrintedSize.Y) / 2); Content.FontColor = FontColors[(int)State]; }