internal void Detach(bool designMode) { textWrapper.Detach(); enabledWrapper.Detach(); checkedWrapper.Detach(); visibleWrapper.Detach(); _shortcut = null; _shortcuts = null; _shortcutkeys = null; _shortcutkeydisplaystring = null; _designMode = designMode; _image = null; _imageTransparentColor = null; if (!designMode && component != null && _click) { if (component is ToolBarButton) { ToolBar tb = ((ToolBarButton)component).Parent; if (tb != null) { tb.ButtonClick -= new ToolBarButtonClickEventHandler(OnToolbarClick); } } else { EventInfo e = component.GetType().GetEvent("Click"); if (action != null && component != null) { try { e.RemoveEventHandler(component, new EventHandler(action.OnExecute)); } catch { } } } if (component is System.Windows.Forms.MenuItem && _owner_draw_menus) { OwnerDrawMenus = false; } } Debug.Assert(action.Parent != null); component.Disposed -= new EventHandler(action.Parent.OnComponentDisposed); }