ListView.SelectedListViewItemCollection.cs 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. using System.Collections;
  2. using System.Collections.Generic;
  3. namespace System.Windows.Forms
  4. {
  5. public partial class ListView
  6. {
  7. public class SelectedListViewItemCollection : WrappedCollection
  8. {
  9. private ListView owner;
  10. private List<ListViewItem> selectedItems;
  11. protected override IList InnerList => selectedItems;
  12. public ListViewItem this[int index] => (ListViewItem)InnerList[index];
  13. internal void InternalAdd(ListViewItem item) => selectedItems.Add(item);
  14. internal bool InternalRemove(ListViewItem item) => selectedItems.Remove(item);
  15. internal void InternalClear() => selectedItems.Clear();
  16. public void Clear()
  17. {
  18. InnerList.Clear();
  19. owner.control.SelectedItems.Clear();
  20. }
  21. public bool Contains(ListViewItem item) => InnerList.Contains(item);
  22. public int IndexOf(ListViewItem item) => InnerList.IndexOf(item);
  23. internal SelectedListViewItemCollection(ListView owner)
  24. {
  25. this.owner = owner;
  26. selectedItems = new();
  27. }
  28. }
  29. }
  30. }