private void AbsencesDataGridView_CellContentClick(object sender, DataGridViewCellEventArgs e) { var absencesGrid = (DataGridView)sender; var column = absencesGrid.Columns[e.ColumnIndex]; var rowIndex = e.RowIndex; if (column is DataGridViewButtonColumn && rowIndex >= 0) { if (column.Name == RemoveButtonColumn.Name) { AbsenceTracker.RemoveAbsence(AbsencesBindingList[rowIndex]); RefreshForm(); } else if (column.Name == DetailsButtonColumn.Name) { new AbsenceDetails(this, AbsencesBindingList[rowIndex]).Show(); } } }