using System.Collections; using System.Collections.Generic; namespace System.Windows.Forms { public partial class ListView { public class SelectedListViewItemCollection : WrappedCollection { private ListView owner; private List selectedItems; protected override IList InnerList => selectedItems; public ListViewItem this[int index] => (ListViewItem)InnerList[index]; internal void InternalAdd(ListViewItem item) => selectedItems.Add(item); internal bool InternalRemove(ListViewItem item) => selectedItems.Remove(item); internal void InternalClear() => selectedItems.Clear(); public void Clear() { InnerList.Clear(); owner.control.SelectedItems.Clear(); } public bool Contains(ListViewItem item) => InnerList.Contains(item); public int IndexOf(ListViewItem item) => InnerList.IndexOf(item); internal SelectedListViewItemCollection(ListView owner) { this.owner = owner; selectedItems = new(); } } } }