/// <summary> /// Constructs a new <see cref="MenuSelectionState"/> object and captures the selection state /// (i.e., which menu item is selected, if any) from the given menu items. /// </summary> /// <param name="oldMenuItems">Items present in the dropdown menu <b>before</b> being repopulated.</param> public MenuSelectionState(ToolStripItem[] oldMenuItems) { var selectedItem = oldMenuItems.FirstOrDefault(item => item.Selected); if (selectedItem == null) return; _selectedIndex = oldMenuItems.ToList().IndexOf(selectedItem); _selectedDrive = selectedItem.Tag as DriveInfo; }