Código
private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e) { try { string pru = dataGridView1.Rows[0].Cells[0].Value.ToString(); } catch (Exception) { if (dataGridView1.Rows[0].Cells[0].Selected != true) MessageBox.Show("Inserte ID "); } }
Tienes que cambiar los valores de Rows a medida que se hacen las validaciones, lo que hace es tratar de llenar un string con el valor de la 1era fila y celda cuando se hace click en alguna celda que no sea la 1era, si este esta vacio muestra el mensaje.
Seguro hay otro modo mejor, pero puedes probarlo.