Hazlo en el mismo evento CellContentDoubleClick. Supongamos que el nombre de tu columna es Tipo_Carne, recorres todo el DataGrid2 buscando el dato en esa columna y asignas SI o NO a una variable FLAG* para saber si se puede agregar o no. Aqui te dejo el codigo:
Código vb:
Ver originalPrivate Sub DataGrid1_CellContentDoubleClick(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGrid1.CellContentDoubleClick
'Iniciamos nuestro FLAG en SI
Dim Agregar As String = "SI"
'Buscamos en todas las FILAS del DataGrid2
For Each FILA As DataGridViewRow In DataGrid2.Rows
If FILA.Cells("Tipo_Carne").Value = DataGrid1.CurrentCell.Value Then
Agregar = "NO"
Exit For
End If
Next
'Si el FLAG esta en SI agregamos la fila del DAtaGrid1 en el DataGrid2
If Agregar = "SI" Then
DataGrid2.Rows.Add(DataGrid1.CurrentRow)
Else
MsgBox("Este dato ya fue agregado.")
End If
End Sub
* Variable FLAG: Es una variable que sirve como un indicador para decidir cuando debe ocurrir una accion.