private void OnNewSelection(object sender, EventArgs e)
 {
     if (base.DesignMode)
     {
         ISelectionService selectionService = ActiveXHelper.GetSelectionService(this);
         if (selectionService != null)
         {
             if (!selectionService.GetComponentSelected(this))
             {
                 if (this.activeXEditMode != ActiveXHelper.ActiveXEditMode.None)
                 {
                     this.GetParentContainer().OnExitEditMode(this);
                     this.SetEditMode(ActiveXHelper.ActiveXEditMode.None);
                 }
                 this.SetSelectionStyle(ActiveXHelper.SelectionStyle.Selected);
                 this.RemoveSelectionHandler();
             }
             else
             {
                 PropertyDescriptor propertyDescriptor = TypeDescriptor.GetProperties(this)["SelectionStyle"];
                 if ((propertyDescriptor != null) && (propertyDescriptor.PropertyType == typeof(int)))
                 {
                     int selectionStyle = (int)propertyDescriptor.GetValue(this);
                     if (((ActiveXHelper.SelectionStyle)selectionStyle) != this.selectionStyle)
                     {
                         propertyDescriptor.SetValue(this, this.selectionStyle);
                     }
                 }
             }
         }
     }
 }
 private void AddSelectionHandler()
 {
     if (!this.GetActiveXHostState(ActiveXHelper.AddedSelectionHandler))
     {
         this.SetActiveXHostState(ActiveXHelper.AddedSelectionHandler, true);
         ISelectionService selectionService = ActiveXHelper.GetSelectionService(this);
         if (selectionService != null)
         {
             selectionService.SelectionChanging += this.SelectionChangeHandler;
         }
     }
 }
        private bool RemoveSelectionHandler()
        {
            bool addedSelectionHandler = this.GetActiveXHostState(ActiveXHelper.AddedSelectionHandler);

            if (addedSelectionHandler)
            {
                this.SetActiveXHostState(ActiveXHelper.AddedSelectionHandler, false);
                ISelectionService selectionService = ActiveXHelper.GetSelectionService(this);
                if (selectionService != null)
                {
                    selectionService.SelectionChanging -= this.SelectionChangeHandler;
                }
            }
            return(addedSelectionHandler);
        }
 private void SetSelectionStyle(ActiveXHelper.SelectionStyle selectionStyle)
 {
     if (base.DesignMode)
     {
         ISelectionService selectionService = ActiveXHelper.GetSelectionService(this);
         this.selectionStyle = selectionStyle;
         if ((selectionService != null) && selectionService.GetComponentSelected(this))
         {
             PropertyDescriptor propertyDescriptor = TypeDescriptor.GetProperties(this)["SelectionStyle"];
             if ((propertyDescriptor != null) && (propertyDescriptor.PropertyType == typeof(int)))
             {
                 propertyDescriptor.SetValue(this, (int)selectionStyle);
             }
         }
     }
 }