/// <summary> /// Edits the specified object's value using the editor style indicated by the <see cref="M:System.Drawing.Design.UITypeEditor.GetEditStyle"/> method. /// </summary> /// /// <param name="context">An <see cref="T:System.ComponentModel.ITypeDescriptorContext"/> that can be used to gain additional context information.</param> /// <param name="provider">An <see cref="T:System.IServiceProvider"/> that this editor can use to obtain services.</param> /// <param name="value">The object to edit.</param> /// /// <returns> /// The new value of the object. If the value of the object has not changed, this should return the same object it was passed. /// </returns> /// public override object EditValue(ITypeDescriptorContext context, IServiceProvider provider, object value) { if (context != null && context.Instance != null && provider != null) { object originalValue = value; this.editorService = (IWindowsFormsEditorService)provider .GetService(typeof(IWindowsFormsEditorService)); this.CollectionType = context.PropertyDescriptor.ComponentType; this.CollectionItemType = detectCollectionType(); if (editorService != null) { NumericCollectionEditorForm form = new NumericCollectionEditorForm(this, value); context.OnComponentChanging(); if (editorService.ShowDialog(form) == DialogResult.OK) { context.OnComponentChanged(); } } } return(value); }
/// <summary> /// Edits the specified object's value using the editor style indicated by the <see cref="M:System.Drawing.Design.UITypeEditor.GetEditStyle"/> method. /// </summary> /// /// <param name="context">An <see cref="T:System.ComponentModel.ITypeDescriptorContext"/> that can be used to gain additional context information.</param> /// <param name="provider">An <see cref="T:System.IServiceProvider"/> that this editor can use to obtain services.</param> /// <param name="value">The object to edit.</param> /// /// <returns> /// The new value of the object. If the value of the object has not changed, this should return the same object it was passed. /// </returns> /// public override object EditValue(ITypeDescriptorContext context, IServiceProvider provider, object value) { if (context != null && context.Instance != null && provider != null) { object originalValue = value; this.editorService = (IWindowsFormsEditorService)provider .GetService(typeof(IWindowsFormsEditorService)); this.CollectionType = context.PropertyDescriptor.ComponentType; this.CollectionItemType = detectCollectionType(); if (editorService != null) { NumericCollectionEditorForm form = new NumericCollectionEditorForm(this, value); context.OnComponentChanging(); if (editorService.ShowDialog(form) == DialogResult.OK) { context.OnComponentChanged(); } } } return value; }