public override void MouseMoved(float x, float y) { base.MouseMoved(x, y); foreach (var component in Components) { if (component is ObjectListControl) { ObjectListControl list = ((ObjectListControl)component); if (list.Bounds.Contains(new Point((int)MouseLoc.X, (int)MouseLoc.Y))) { //If just entered the list if (!list.Bounds.Contains(new Point((int)OldMouseLoc.X, (int)OldMouseLoc.Y))) { list.MouseEntered(MouseLoc); } list.MouseMoved(MouseLoc); } else if (list.Bounds.Contains(new Point((int)OldMouseLoc.X, (int)OldMouseLoc.Y))) { list.MouseLeft(MouseLoc); } } } }