public void BringToFront(string name) { if (!this.ActiveGUIs.Any(gui => gui.Name.Equals(name, StringComparison.OrdinalIgnoreCase))) { return; } GUIData toFront = this.ActiveGUIs.First(g => g.Name.Equals(name, StringComparison.OrdinalIgnoreCase)); foreach (GUIData gui in this.ActiveGUIs) { if (toFront.Equals(gui) || gui.m_AlwaysOnTop) { continue; } //gui.ZIndex = gui.DefaultSortingOrder; } GUIData[] found = this.ActiveGUIs .Where(data => data.m_AlwaysOpen == false) .ToArray(); if (found.Any()) { //toFront.ZIndex = found.Max(data => data.DefaultSortingOrder) + 1; } }