DataGridView "Enter" manipulação de eventos-chave

Eu tenho um DataGridView preenchido com DataTable, tenho 10 colunas. Eu tenho um cenário ao passar de uma linha para outra quando clico na tecla Enter. Preciso que a linha seja selecionada e precise ter os valores dessa linha.

Mas aqui quando eu selecionon-a linha, em seguida, ele se move automaticamente paran + 1 Linha.

Por favor, me ajude com isto...

Evento de carregamento de página:

SqlConnection con = 
    new SqlConnection("Data Source=.;Initial Catalog=MHS;User ID=mhs_mt;Password=@mhsinc");

DataSet ds = new System.Data.DataSet();
SqlDataAdapter da = new SqlDataAdapter("select * from MT_INVENTORY_COUNT", con);
da.Fill(ds);
dataGridView1.DataSource = ds.Tables[0];

Então,

private void dataGridView1_KeyPress(object sender, KeyPressEventArgs e)
{
     if (e.KeyChar == (Char)Keys.Enter)
     {
           int i = dataGridView1.CurrentRow.Index;
           MessageBox.Show(i.ToString());
     }     
}

private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
{
    int i = dataGridView1.CurrentRow.Index;
    MessageBox.Show(i.ToString());
}

questionAnswers(2)

yourAnswerToTheQuestion