PropertyGrid: CheckBoxList Property

This entry is part 5 of 5 in the series C#: Property Grid
(Last Updated On: )

Build a CheckBoxList Property Type

 

 

  1. public class CheckBoxList : INotifyPropertyChanged
  2. {
  3. private dynamic _values;
  4. private dynamic selectedItem;
  5. public event PropertyChangedEventHandler PropertyChanged;
  6. public event PropertyValueChangedEventHandler PropertyValueChanged;
  7.  
  8. public CheckBoxList(String name, PropertyGrid pg)
  9. {
  10. PropertyName = name;
  11. PG = pg;
  12. }
  13.  
  14. private String PropertyName { get; set; }
  15. private PropertyGrid PG { get; set; }
  16.  
  17. public dynamic Values
  18. {
  19. get
  20. {
  21. return _values;
  22. }
  23. set
  24. {
  25. if (value != null)
  26. _values = value;
  27. }
  28. }
  29.  
  30. public string ValueMember { get; set; }
  31. public string DisplayMember { get; set; }
  32.  
  33. [Browsable(false)]
  34. public dynamic SelectedItem
  35. {
  36. get
  37. {
  38. return selectedItem;
  39. }
  40. set
  41. {
  42. String oldValue = selectedItem;
  43. selectedItem = value;
  44. if (PropertyChanged != null)
  45. PropertyChanged(this, new PropertyChangedEventArgs(PropertyName));
  46.  
  47. if (PG != null)
  48. {
  49. if (PropertyValueChanged != null)
  50. PropertyValueChanged(this, new PropertyValueChangedEventArgs(PG.SelectedGridItem, oldValue));
  51. }
  52. }
  53. }
  54.  
  55. public override string ToString()
  56. {
  57. return SelectedItem;
  58. }
  59. }
Series Navigation<< PropertyGrid: CheckBoxList Editor