Use the VisibleColumns property to obtain the list of columns the grid currently displays.
To show or hide an individual column, use the GridColumn.IsVisible property. Note that if you group data by a column (set GridColumn.IsGrouped to true), the grid does not display this column as a regular column but shows its header and values in group rows. In this case, the VisibleColumns collection does not include this column, though it is considered to be visible (its GridColumn.IsVisible property value is true). You can use the DataGridView.ShowGroupedColumns property to show a grouped column as a regular one.