Попробуйте обработать событие DataGridView CellContentClick:
private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
MessageBox.Show(e.RowIndex.ToString()+" and "+e.ColumnIndex.ToString());
}
Затем необходимо проверить индекс столбца, чтобы убедиться, что это ваш столбец флажка.
Вы можете получить проверенное состояние каждого флажкапроверяя значение каждой ячейки:
foreach (DataGridViewRow dataGridRow in dataGridView1.Rows)
{
var checked = ((DataGridViewCheckBoxColumn)dataGridRow.Cells["checkbox_col"]).Value;
}