ToolStripDropDownItem.cs 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. namespace System.Windows.Forms
  2. {
  3. public class ToolStripDropDownItem : ToolStripItem
  4. {
  5. public virtual ToolStripItemCollection DropDownItems { get; }
  6. public event EventHandler DropDownOpening;
  7. public event EventHandler DropDownOpened;
  8. public event ToolStripDropDownClosedEventHandler DropDownClosed;
  9. public event ToolStripItemClickedEventHandler DropDownItemClicked;
  10. protected virtual void OnDropDownOpening(EventArgs e) => DropDownOpening?.Invoke(this, e);
  11. protected virtual void OnDropDownOpened(EventArgs e) => DropDownOpened?.Invoke(this, e);
  12. protected virtual void OnDropDownClosed(ToolStripDropDownClosedEventArgs e) => DropDownClosed?.Invoke(this, e);
  13. protected virtual void OnDropDownItemClicked(ToolStripItemClickedEventArgs e) => DropDownItemClicked?.Invoke(this, e);
  14. internal override void ResetImage()
  15. {
  16. base.ResetImage();
  17. foreach (ToolStripItem item in DropDownItems)
  18. item.ResetImage();
  19. }
  20. public override void ApplyStyle(ToolStripProfessionalRenderer r)
  21. {
  22. foreach (ToolStripItem item in DropDownItems)
  23. item.ApplyStyle(r);
  24. }
  25. public ToolStripDropDownItem()
  26. {
  27. DropDownItems = new ToolStripItemCollection(this);
  28. }
  29. }
  30. }