There is a ContentClick event for the DataGridView. Handle that event and check if the checkbox was checked or not. If yes, freeze the row. See if this helps:
void DataGridViewCellContentClick(object sender, DataGridViewCellEventArgs e)
{
(sender as DataGridView).Rows[e.RowIndex].Frozen = true;
}