private void OnComponentRemoving(object sender, ComponentEventArgs e) { // If our control is being removed if (e.Component == _gallery) { // Need access to host in order to delete a component IDesignerHost host = (IDesignerHost)GetService(typeof(IDesignerHost)); // We need to remove all the range instances for (int i = _gallery.DropButtonRanges.Count - 1; i >= 0; i--) { KryptonGalleryRange dropRange = _gallery.DropButtonRanges[i]; _gallery.DropButtonRanges.Remove(dropRange); host.DestroyComponent(dropRange); } } }