protected override bool ProcessDialogKey(Keys keyData) { if ((keyData & ~Keys.KeyCode) == Keys.None) { Keys keys = keyData & Keys.KeyCode; if (keys == Keys.Return) { IDesignerHost service = null; INameCreationService nameCreationService = null; IContainer container = null; service = this.liveDataGridView.Site.GetService(iDesignerHostType) as IDesignerHost; if (service != null) { container = service.Container; } nameCreationService = this.liveDataGridView.DataGridControl.Site.GetService(iNameCreationServiceType) as INameCreationService; string errorString = string.Empty; if (ValidName(this.nameTextBox.Text, this.dataGridViewColumns, container, nameCreationService, this.liveDataGridView.Columns, !this.persistChangesToDesigner, out errorString)) { this.AddColumn(); base.Close(); } else { IUIService uiService = (IUIService)this.liveDataGridView.DataGridControl.Site.GetService(iUIServiceType); ExtDataGridDesigner.ShowErrorDialog(uiService, errorString, this.liveDataGridView); } return(true); } } return(base.ProcessDialogKey(keyData)); }
private void AddColumn() { DataGridViewColumn dataGridViewColumn = Activator.CreateInstance(((ComboBoxItem)this.columnTypesCombo.SelectedItem).ColumnType) as DataGridViewColumn; bool flag = (this.dataGridViewColumns.Count > this.insertAtPosition) && this.dataGridViewColumns[this.insertAtPosition].Frozen; dataGridViewColumn.Frozen = flag; if (!this.persistChangesToDesigner) { dataGridViewColumn.HeaderText = this.headerTextBox.Text; dataGridViewColumn.Name = this.nameTextBox.Text; dataGridViewColumn.DisplayIndex = -1; this.dataGridViewColumns.Insert(this.insertAtPosition, dataGridViewColumn); this.insertAtPosition++; } dataGridViewColumn.HeaderText = this.headerTextBox.Text; dataGridViewColumn.Name = this.nameTextBox.Text; dataGridViewColumn.Visible = this.visibleCheckBox.Checked; dataGridViewColumn.Frozen = this.frozenCheckBox.Checked || flag; dataGridViewColumn.ReadOnly = this.readOnlyCheckBox.Checked; if (this.dataBoundColumnRadioButton.Checked && (this.dataColumns.SelectedIndex > -1)) { dataGridViewColumn.DataPropertyName = ((ListBoxItem)this.dataColumns.SelectedItem).PropertyName; } if (this.persistChangesToDesigner) { try { dataGridViewColumn.DisplayIndex = -1; this.dataGridViewColumns.Insert(this.insertAtPosition, dataGridViewColumn); this.insertAtPosition++; this.liveDataGridView.DataGridControl.Site.Container.Add(dataGridViewColumn, dataGridViewColumn.Name); } catch (InvalidOperationException exception) { IUIService uiService = (IUIService)this.liveDataGridView.DataGridControl.Site.GetService(typeof(IUIService)); ExtDataGridDesigner.ShowErrorDialog(uiService, exception, this.liveDataGridView); return; } } PropertyDescriptor descriptor = TypeDescriptor.GetProperties(dataGridViewColumn)["UserAddedColumn"]; if (descriptor != null) { descriptor.SetValue(dataGridViewColumn, true); } this.nameTextBox.Text = this.headerTextBox.Text = this.AssignName(); this.nameTextBox.Focus(); }
private void nameTextBox_Validating(object sender, CancelEventArgs e) { IDesignerHost service = null; INameCreationService nameCreationService = null; IContainer container = null; service = this.liveDataGridView.Site.GetService(iDesignerHostType) as IDesignerHost; if (service != null) { container = service.Container; } nameCreationService = this.liveDataGridView.Site.GetService(iNameCreationServiceType) as INameCreationService; string errorString = string.Empty; if (!ValidName(this.nameTextBox.Text, this.dataGridViewColumns, container, nameCreationService, this.liveDataGridView.Columns, !this.persistChangesToDesigner, out errorString)) { IUIService uiService = (IUIService)this.liveDataGridView.Site.GetService(iUIServiceType); ExtDataGridDesigner.ShowErrorDialog(uiService, errorString, this.liveDataGridView); e.Cancel = true; } }