public override void Update(float frameTime) { int prevHeight = 0; for (int i = _tabs.Count - 1; i >= 0; i--) { KeyValuePair <ImageButton, TabContainer> curr = _tabs[i]; curr.Key.Position = new Point(Position.X + TabOffset.X - curr.Key.ClientArea.Width, Position.Y + TabOffset.Y - prevHeight); prevHeight += curr.Key.ClientArea.Height; curr.Value.Position = Position; curr.Key.Update(frameTime); } if (_activeTab != null) { _activeTab.Update(frameTime); } ClientArea = new Rectangle(Position, new Size((int)size.X, (int)size.Y)); }