protected override void Dispose(bool disposing) { if (disposing) { if (_renameProvider != null) { TypeDescriptor.RemoveProvider(_renameProvider, Component); _renameProvider.Dispose(); _renameProvider = null; } } base.Dispose(disposing); }
/// <summary> /// Called to check if we can extend a given control. We return true if the control has the same ID a /// our extender control target. /// </summary> /// <param name="targetControl"></param> /// <returns></returns> public bool CanExtend(object extendee) { Control extendeeControl = extendee as Control; bool canExtend = false; if (DesignerFeaturesEnabled && extendeeControl != null) { canExtend = (extendeeControl.ID == ExtenderControl.TargetControlID); if (canExtend) { if (_renameProvider == null) { // hook up the rename prvider. _renameProvider = new ExtenderPropertyRenameDescProv(this, extendeeControl); TypeDescriptor.AddProvider(_renameProvider, extendeeControl); } } } return(canExtend); }