public void OnEditColumns() { ComboBoxColumnEditor editor = new ComboBoxColumnEditor(this.Owner.Columns); IUIService service = base.Component.Site.GetService(typeof(IUIService)) as IUIService; if (service != null) { if (service.ShowDialog(editor) == DialogResult.OK) { IComponentChangeService iccs = (IComponentChangeService)GetService(typeof(IComponentChangeService)); iccs.OnComponentChanging(this.Owner, null); this.Owner.Columns.AddRange(editor.NewCollection); iccs.OnComponentChanged(this.Owner, null, null, null); designerActionSvc.HideUI(this.Owner); } } editor.Dispose(); }
public override object EditValue(ITypeDescriptorContext context, IServiceProvider provider, object value) { IWindowsFormsEditorService edSvc = (IWindowsFormsEditorService)provider.GetService(typeof(IWindowsFormsEditorService)); if (edSvc == null) { return(value); } using (ComboBoxColumnEditor form = new ComboBoxColumnEditor(value)) { if (edSvc.ShowDialog(form) == DialogResult.OK) { IComponentChangeService iccs = (IComponentChangeService)context.GetService(typeof(IComponentChangeService)); iccs.OnComponentChanging(context.Instance, null); (value as ComboBoxColumnCollection).AddRange(form.NewCollection); iccs.OnComponentChanged(context.Instance, null, null, null); } } return(value); }