Cómo mover la vista de cuadrícula fila seleccionada arriba / abajo en KeyUp o Keydown presionando

El usuario selecciona una filahabrá flecha arriba y flecha abajo.Si el usuario desea subir, el usuario hace clic en el botón de flecha arribaSi el usuario desea moverse hacia abajo, el usuario hace clic en el botón de flecha hacia abajosi la fila está en la parte superior, el botón de flecha hacia arriba se deshabilitasi la fila está en la parte inferior, el botón de flecha hacia abajo se desactiva

Probé este código pero no funcionó en absoluto para el escenario anterior.

privado void key_up (objeto remitente, EventArgs e)

{
    if (dataGridView1.CurrentRow == null) return;
    if (dataGridView1.CurrentRow.Index - 1 >= 0)
    {

        dataGridView1.CurrentCell = dataGridView1.Rows[dataGridView1.CurrentRow.Index - 1].Cells[0];
        dataGridView1.Rows[dataGridView1.CurrentCell.RowIndex].Selected = true;
    }
}

Respuestas a la pregunta(6)

Su respuesta a la pregunta