public override object EditValue(ITypeDescriptorContext context, IServiceProvider provider, object value) { if (provider != null) { IWindowsFormsEditorService edSvc = (IWindowsFormsEditorService) provider.GetService(typeof(IWindowsFormsEditorService)); if ((edSvc == null) || (context.Instance == null)) { return value; } if (this.columnTypePicker == null) { this.columnTypePicker = new DataGridViewColumnTypePicker(); } DataGridViewColumnCollectionDialog.ListBoxItem instance = (DataGridViewColumnCollectionDialog.ListBoxItem) context.Instance; IDesignerHost service = (IDesignerHost) provider.GetService(typeof(IDesignerHost)); ITypeDiscoveryService discoveryService = null; if (service != null) { discoveryService = (ITypeDiscoveryService) service.GetService(typeof(ITypeDiscoveryService)); } this.columnTypePicker.Start(edSvc, discoveryService, instance.DataGridViewColumn.GetType()); edSvc.DropDownControl(this.columnTypePicker); if (this.columnTypePicker.SelectedType != null) { value = this.columnTypePicker.SelectedType; } } return value; }
public override object EditValue(ITypeDescriptorContext context, IServiceProvider provider, object value) { if (provider != null) { IWindowsFormsEditorService edSvc = (IWindowsFormsEditorService)provider.GetService(typeof(IWindowsFormsEditorService)); if ((edSvc == null) || (context.Instance == null)) { return(value); } if (this.columnTypePicker == null) { this.columnTypePicker = new DataGridViewColumnTypePicker(); } DataGridViewColumnCollectionDialog.ListBoxItem instance = (DataGridViewColumnCollectionDialog.ListBoxItem)context.Instance; IDesignerHost service = (IDesignerHost)provider.GetService(typeof(IDesignerHost)); ITypeDiscoveryService discoveryService = null; if (service != null) { discoveryService = (ITypeDiscoveryService)service.GetService(typeof(ITypeDiscoveryService)); } this.columnTypePicker.Start(edSvc, discoveryService, instance.DataGridViewColumn.GetType()); edSvc.DropDownControl(this.columnTypePicker); if (this.columnTypePicker.SelectedType != null) { value = this.columnTypePicker.SelectedType; } } return(value); }