private void tsbColumns_Click(object sender, EventArgs e) { switch (((ToolStripButton)sender).Name) { case "tsbEntityColumns": { var dialog = new ColumnSelector(typeof(EntityMetadataInfo), ListViewColumnsSettings.EntityFirstColumns, ListViewColumnsSettings.EntityAttributesToIgnore, lvcSettings.EntitySelectedAttributes); if (dialog.ShowDialog(this) == DialogResult.OK) { lvcSettings.EntitySelectedAttributes = dialog.UpdatedCurrentAttributes; entityListView.Columns.Clear(); entityListView.Items.Clear(); ListViewColumnHelper.AddColumnsHeader(entityListView, typeof(EntityMetadataInfo), ListViewColumnsSettings.EntityFirstColumns, lvcSettings.EntitySelectedAttributes, ListViewColumnsSettings.EntityAttributesToIgnore); entityListView.Items.AddRange(BuildEntityItems(currentAllMetadata).ToArray()); } } break; default: { MessageBox.Show(this, "Unexpected source for hiding panels"); } break; } try { lvcSettings.SaveSettings(); foreach (TabPage page in mainTabControl.TabPages) { if (page.TabIndex == 0) { continue; } ((EntityPropertiesControl)page.Controls[0]).RefreshColumns(lvcSettings); } } catch (UnauthorizedAccessException error) { MessageBox.Show(this, "An error occured while trying to save your settings: " + error.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
void epc_OnColumnSettingsUpdated(object sender, ColumnSettingsUpdatedEventArgs e) { lvcSettings = (ListViewColumnsSettings)e.Settings.Clone(); lvcSettings.SaveSettings(); foreach (TabPage page in mainTabControl.TabPages) { if (page.TabIndex == 0) { continue; } var ctrl = ((EntityPropertiesControl)page.Controls[0]); if (ctrl.Name != e.Control.Name) { ctrl.RefreshColumns(lvcSettings); } } }