public override void BeforeDispose() { if (SelectionChanged != null) { //Remove all Events associated to this control (That haven't been unsubscribed !) foreach (Delegate d in SelectionChanged.GetInvocationList()) { SelectionChanged -= (EventHandler)d; } } }
internal void tonyTabItem_Selected(SelectionChangedCancelEventArgs e) { if (SelectionChanged != null) { foreach (var method in SelectionChanged.GetInvocationList()) { method.Method.Invoke(method.Target, new object[] { this, e }); if (e.Cancel) { break; } } } }
public void Dispose() { _wireframeEffect.Effect.Dispose(); _wireframeEffect = null; _selectedFacesEffect.Effect.Dispose(); _selectedFacesEffect = null; VertexRenderer.Dispose(); VertexRenderer = null; _lineGeometry.Dispose(); _lineGeometry = null; if (SelectionChanged != null) { foreach (var d in SelectionChanged.GetInvocationList()) { SelectionChanged -= (d as SelectionChangedDelegate); } } _currentState?.Clear(); _currentState = null; }
internal void RemoveEvents(IPluginClient pluginClient) { if (TabChanged != null) { foreach (PluginEventHandler handler in TabChanged.GetInvocationList()) { if (handler.Target == pluginClient) { TabChanged = (PluginEventHandler)Delegate.Remove(TabChanged, handler); } } } if (TabAdded != null) { foreach (PluginEventHandler handler2 in TabAdded.GetInvocationList()) { if (handler2.Target == pluginClient) { TabAdded = (PluginEventHandler)Delegate.Remove(TabAdded, handler2); } } } if (TabRemoved != null) { foreach (PluginEventHandler handler3 in TabRemoved.GetInvocationList()) { if (handler3.Target == pluginClient) { TabRemoved = (PluginEventHandler)Delegate.Remove(TabRemoved, handler3); } } } if (NavigationComplete != null) { foreach (PluginEventHandler handler4 in NavigationComplete.GetInvocationList()) { if (handler4.Target == pluginClient) { NavigationComplete = (PluginEventHandler)Delegate.Remove(NavigationComplete, handler4); } } } if (SelectionChanged != null) { foreach (PluginEventHandler handler5 in SelectionChanged.GetInvocationList()) { if (handler5.Target == pluginClient) { SelectionChanged = (PluginEventHandler)Delegate.Remove(SelectionChanged, handler5); } } } if (ExplorerStateChanged != null) { foreach (PluginEventHandler handler6 in ExplorerStateChanged.GetInvocationList()) { if (handler6.Target == pluginClient) { ExplorerStateChanged = (PluginEventHandler)Delegate.Remove(ExplorerStateChanged, handler6); } } } if (SettingsChanged != null) { foreach (PluginEventHandler handler7 in SettingsChanged.GetInvocationList()) { if (handler7.Target == pluginClient) { SettingsChanged = (PluginEventHandler)Delegate.Remove(SettingsChanged, handler7); } } } if (MouseEnter != null) { foreach (EventHandler handler8 in MouseEnter.GetInvocationList()) { if (handler8.Target == pluginClient) { MouseEnter = (EventHandler)Delegate.Remove(MouseEnter, handler8); } } } if (PointedTabChanged != null) { foreach (PluginEventHandler handler9 in PointedTabChanged.GetInvocationList()) { if (handler9.Target == pluginClient) { PointedTabChanged = (PluginEventHandler)Delegate.Remove(PointedTabChanged, handler9); } } } if (MouseLeave != null) { foreach (EventHandler handler10 in MouseLeave.GetInvocationList()) { if (handler10.Target == pluginClient) { MouseLeave = (EventHandler)Delegate.Remove(MouseLeave, handler10); } } } if (MenuRendererChanged != null) { foreach (EventHandler handler11 in MenuRendererChanged.GetInvocationList()) { if (handler11.Target == pluginClient) { MenuRendererChanged = (EventHandler)Delegate.Remove(MenuRendererChanged, handler11); } } } }