public virtual void AppentMenuStripItem(string text, Icon icon, EventHandler clickHandler, IDynamicStateProvider dynamicStateProvider = null) { if (text.IsNullOrEmpty() || icon == null || clickHandler == null) { return; } EventHandler asyncClickHandler = (sender, args) => Task.Factory.StartNew(() => clickHandler(sender, args)); var menuItem = new ExtendedToolStripMenuItem(text, icon.ToBitmap(), asyncClickHandler) { DymamicStateProvider = dynamicStateProvider }; this.OutputItems.Add(menuItem); }
public virtual void AddStipToWatch(ExtendedToolStripMenuItem menuItem) { IDynamicStateProvider stateProvider = menuItem.DymamicStateProvider; if (stateProvider == null) { return; } stateProvider.RelevanceChanged += (sender, args) => this.EnqueStripForPendingUpdate(menuItem); this.EnqueStripForPendingUpdate(menuItem); }