ListView.ColumnHeaderCollection.cs 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. using System.Collections;
  2. namespace System.Windows.Forms
  3. {
  4. public partial class ListView
  5. {
  6. public class ColumnHeaderCollection : CollectionBase
  7. {
  8. private ListView owner;
  9. public ColumnHeader this[int index] => InnerList[index] as ColumnHeader;
  10. public void Add(ColumnHeader column)
  11. {
  12. column.SetOwner(owner);
  13. column.SetBinding(InnerList.Count);
  14. InnerList.Add(column);
  15. owner.GridView.Columns.Add(column.column);
  16. }
  17. public void Add(string text) => Add(new ColumnHeader() { Text = text });
  18. public void AddRange(ColumnHeader[] items)
  19. {
  20. foreach (var item in items)
  21. Add(item);
  22. }
  23. public void Remove(ColumnHeader column)
  24. {
  25. InnerList.Remove(column);
  26. owner.GridView.Columns.Remove(column.column);
  27. }
  28. public new void RemoveAt(int index)
  29. {
  30. InnerList.RemoveAt(index);
  31. owner.GridView.Columns.RemoveAt(index);
  32. }
  33. public new void Clear()
  34. {
  35. InnerList.Clear();
  36. owner.GridView.Columns.Clear();
  37. }
  38. public int IndexOf(ColumnHeader column) => InnerList.IndexOf(column);
  39. internal ColumnHeaderCollection(ListView owner)
  40. {
  41. this.owner = owner;
  42. }
  43. }
  44. }
  45. }