ListView.ListViewItemCollection.cs 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. using System.ComponentModel;
  2. namespace System.Windows.Forms
  3. {
  4. public partial class ListView
  5. {
  6. public class ListViewItemCollection : BindingList<ListViewItem>
  7. {
  8. private ListView owner { get; }
  9. public new ListViewItem Add(ListViewItem item)
  10. {
  11. base.Add(item);
  12. item.SetOwner(owner);
  13. return item;
  14. }
  15. public ListViewItem Add(string text) => Add(text, -1);
  16. public ListViewItem Add(string text, int imageIndex) =>
  17. Add(new ListViewItem() { Text = text, ImageIndex = imageIndex });
  18. public void AddRange(ListViewItem[] items)
  19. {
  20. foreach (var item in items)
  21. Add(item);
  22. }
  23. public new void Remove(ListViewItem item)
  24. {
  25. owner.DoItemRemove(item);
  26. base.Remove(item);
  27. }
  28. public new void RemoveAt(int index)
  29. {
  30. owner.DoItemRemove(this[index]);
  31. base.RemoveAt(index);
  32. }
  33. public new void Clear()
  34. {
  35. owner.DoItemsClear();
  36. base.Clear();
  37. }
  38. internal ListViewItemCollection(ListView owner) => this.owner = owner;
  39. }
  40. }
  41. }