This is in my RowValidation function of DataGridView:
DataGridViewRow row = viewApplications.Rows[e.RowIndex]; if (row.Cells[colApplyTo.Index
To remove the row outside the handler, you can call BeginInvoke:
BeginInvoke
BeginInvoke(new Action(delegate { viewApplications.Rows.RemoveAt(e.RowIndex); }));
This will run the code in the delegate during the next message loop.