Para obtener el valor de una celda de una fila seleccionada a continuación te muestro una función que te regresara el valor como cadena, ese valor tu puedes parsearlo a el tipo de dato que necesites ya sea un entero, decimal etc.
La función recibe tu DataGridView como parámetro y el número de la posición de la celda deseada.
Recuerda que las celdas del DatGridView comienzan con el número 0, ya que se manejan igual que un arreglo.
public class DataGridViewUtils
{
public static string GetValorCelda(DataGridView dgv, int num)
{
string valor = "";
valor = dgv.Rows[dgv.CurrentRow.Index].Cells[num].Value.ToString();
return valor;
}
}
Para utilizar la función sería de la siguiente manera:
//Mandamos nuestro DataGridView y la posición deseada
string valor= DataGridViewUtils.GetValorCelda(dgv,0);