private void PopulateColumnTypesCombo() { this.columnTypesCombo.Items.Clear(); IDesignerHost host = (IDesignerHost)this.liveDataGridView.Site.GetService(iDesignerHostType); if (host != null) { ITypeDiscoveryService service = (ITypeDiscoveryService)host.GetService(iTypeDiscoveryServiceType); if (service != null) { foreach (System.Type type in DesignerUtils.FilterGenericTypes(service.GetTypes(dataGridViewColumnType, false))) { if (((type != dataGridViewColumnType) && !type.IsAbstract) && (type.IsPublic || type.IsNestedPublic)) { DataGridViewColumnDesignTimeVisibleAttribute attribute = TypeDescriptor.GetAttributes(type)[dataGridViewColumnDesignTimeVisibleAttributeType] as DataGridViewColumnDesignTimeVisibleAttribute; if ((attribute == null) || attribute.Visible) { this.columnTypesCombo.Items.Add(new ComboBoxItem(type)); } } } this.columnTypesCombo.SelectedIndex = this.TypeToSelectedIndex(typeof(DataGridViewTextBoxColumn)); } } }
public void Start(IWindowsFormsEditorService edSvc, ITypeDiscoveryService discoveryService, System.Type defaultType) { this.edSvc = edSvc; this.typesListBox.Items.Clear(); foreach (System.Type type in DesignerUtils.FilterGenericTypes(discoveryService.GetTypes(dataGridViewColumnType, false))) { if (((type != dataGridViewColumnType) && !type.IsAbstract) && (type.IsPublic || type.IsNestedPublic)) { DataGridViewColumnDesignTimeVisibleAttribute attribute = TypeDescriptor.GetAttributes(type)[typeof(DataGridViewColumnDesignTimeVisibleAttribute)] as DataGridViewColumnDesignTimeVisibleAttribute; if ((attribute == null) || attribute.Visible) { this.typesListBox.Items.Add(new ListBoxItem(type)); } } } this.typesListBox.SelectedIndex = this.TypeToSelectedIndex(defaultType); this.selectedType = null; base.Width = Math.Max(base.Width, this.PreferredWidth + (SystemInformation.VerticalScrollBarWidth * 2)); }