Пример #1
0
        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);
        }