public override object EditValue(ITypeDescriptorContext context, IServiceProvider provider, object value) { Palette original = (Palette)value; try { IWindowsFormsEditorService editorService = (IWindowsFormsEditorService) provider.GetService(typeof(IWindowsFormsEditorService)); _paletteForm = new PaletteForm(); if (value == null) { value = new Palette(); } // Take a copy of the original Palette in case the user cancels // the PaletteForm Palette copy = new Palette(); foreach (Color c in original) { copy.Add(c); } _paletteForm.Value = original; _paletteForm.EditorService = editorService; DialogResult result = editorService.ShowDialog(_paletteForm); if (result == DialogResult.OK) { return(_paletteForm.Value); } else { return(copy); } } catch (Exception ex) { ExceptionForm ef = new ExceptionForm(ex); ef.ShowDialog(); return(original); } }
public override object EditValue( ITypeDescriptorContext context, IServiceProvider provider, object value ) { Palette original = (Palette) value; try { IWindowsFormsEditorService editorService = (IWindowsFormsEditorService) provider.GetService( typeof( IWindowsFormsEditorService ) ); _paletteForm = new PaletteForm(); if( value == null ) { value = new Palette(); } // Take a copy of the original Palette in case the user cancels // the PaletteForm Palette copy = new Palette(); foreach( Color c in original ) { copy.Add( c ); } _paletteForm.Value = original; _paletteForm.EditorService = editorService; DialogResult result = editorService.ShowDialog( _paletteForm ); if( result == DialogResult.OK ) { return _paletteForm.Value; } else { return copy; } } catch( Exception ex ) { ExceptionForm ef = new ExceptionForm( ex ); ef.ShowDialog(); return original; } }