using System.Collections; namespace System.Windows.Forms { public partial class ListBox { public class SelectedIndexCollection : CollectionBase { private ListBox owner; public int this[int index] => (int)List[index]; public void Add(int index) { owner.SelectedItems.Add(owner.Items[index]); } public void AddInternal(int index) { List.Add(index); } public void Remove(int index) { owner.SelectedItems.Remove(owner.Items[index]); } public new void Clear() { owner.SelectedItems.Clear(); } public int IndexOf(int selectedIndex) => List.IndexOf(selectedIndex); public bool Contains(int selectedIndex) => IndexOf(selectedIndex) != -1; internal SelectedIndexCollection(ListBox owner) => this.owner = owner; } } }