namespace System.Windows.Forms { public class ToolStripDropDownItem : ToolStripItem { public virtual ToolStripItemCollection DropDownItems { get; } public event EventHandler DropDownOpening; public event EventHandler DropDownOpened; public event ToolStripDropDownClosedEventHandler DropDownClosed; public event ToolStripItemClickedEventHandler DropDownItemClicked; protected virtual void OnDropDownOpening(EventArgs e) => DropDownOpening?.Invoke(this, e); protected virtual void OnDropDownOpened(EventArgs e) => DropDownOpened?.Invoke(this, e); protected virtual void OnDropDownClosed(ToolStripDropDownClosedEventArgs e) => DropDownClosed?.Invoke(this, e); protected virtual void OnDropDownItemClicked(ToolStripItemClickedEventArgs e) => DropDownItemClicked?.Invoke(this, e); internal override void ResetImage() { base.ResetImage(); foreach (ToolStripItem item in DropDownItems) item.ResetImage(); } public override void ApplyStyle(ToolStripProfessionalRenderer r) { foreach (ToolStripItem item in DropDownItems) item.ApplyStyle(r); } public ToolStripDropDownItem() { DropDownItems = new ToolStripItemCollection(this); } } }