Ciao,
hai provato sull'evento di validazione? Dentro quell'evento in base alla scelta dell'utente alla domanda proposta tramite message box setti e.cancel a true  o false. 
        void dataGridView1_RowValidating(object sender, DataGridViewCellCancelEventArgs e)
        {
            e.Cancel = true;
        }
Fammi sapere