private void addColButton_Click(object sender, EventArgs e) { if (elementsListView.SelectedIndices.Count > 0) { columnsListView.BeginUpdate(); ListViewItem item = elementsListView.SelectedItems[0]; CdrElementDefinition def = new CdrElementDefinition( item.Text, item.SubItems[1].Text, item.SubItems[2].Text, (string)valTypeListBox.SelectedItems[0] ); int idx; if (columnsListView.SelectedIndices.Count > 0) { idx = _settings.InsertColumn(columnsListView.SelectedIndices[0] + 1, colHdrText.Text, def); } else { idx = _settings.AddColumn(colHdrText.Text, def); } if (idx >= 0) { columnsListView.VirtualListSize++; columnsListView.Items[idx].Selected = true; columnsListView.EnsureVisible(idx); columnsListView.EndUpdate(); } else { columnsListView.EndUpdate(); MessageBox.Show(String.Format("Column with name \"{0}\" already exists!", colHdrText.Text), "Add new column", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } } }