Если бы вы использовали флажок, у вас было бы что-то вроде этого:
private void checkBox1_CheckedChanged(object sender, EventArgs e)
{
CheckBox c = (CheckBox)sender;
if (c.Checked)
Column1.Visible = true;
else
Column1.Visible = false;
}
Вы бы просто изменили имя Column1 на любой столбец, который вы хотите показать / скрыть, и связать событие с соответствующими флажками.
В конструкторе для формы я бы сделал что-то вроде Checkbox1.checked = true;
, чтобы первый _CheckChanged скрыл это, но это ваше дело.