Как переместить выбранную строку вида сетки вверх / вниз по нажатию клавиш или нажатий клавиш

Пользователь выбирает одну строкутам будет стрелка вверх и стрелка вниз.Если пользователь хочет двигаться вверх, он нажимает кнопку со стрелкой вверхЕсли пользователь хочет перейти вниз, он нажимает кнопку со стрелкой внизесли строка вверху, кнопка со стрелкой вверх становится недоступнойесли строка находится внизу, кнопка со стрелкой вниз становится недоступной

я пробовал этот код, но совсем не работает для вышеуказанного сценария

private void key_up (отправитель объекта, 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;
    }
}

Ответы на вопрос(6)

Ваш ответ на вопрос