Перемещение по ячейкам DataGridView клавишей tab - Visual Basic .NET
Формулировка задачи:
в форме windows form представлен программно созданый datagridview состоящий из 4 столбцов
в первых трех - значения получаемые ранее. а в последнем необходимо ввести данные
при создании первым трем столбцам присваивается свойство readonly=true
как сделать так, чтобы:
1. при нажатии TAB при выделении ячейки в колонке 4 выделение переходило на следующую строку в колонку 4(а не в колонку 1)...по хорошему первые три колонки не доступные для редактирования не должны никак выделяться...
ну или с помощью нажатия tab как перемещаться вниз по столбцу
повторюсь: grid создается программно в ходе работы, так что и свойства надо писать ручками...
вообщем надо чтобы пользователь ввел в ячейку 1 строки столбца 4 значение, нажал таб ввел значение которое уже ввелось в ячейку 2 строки 4 столбца и тд...
пытался сделать так:
при создании формы и грида создаем событие
далее уже в форме
при этом верно работает если кликать мышкой на ячейки первых трех столбцов, но при нажатии таб
при этом выделяется правильная ячейка, но вот активная, обведенная пунктиром ячейка в которую вводятся данные все равно перемещается по старой схеме, таким образом чтобы добраться до нужной надо нажать таб трижды, что не хорошо...
что подскажете?
Решение задачи: «Перемещение по ячейкам DataGridView клавишей tab»
textual
Листинг программы
Private Sub DataGridView1_KeyDown(sender As Object, e As KeyEventArgs) Handles DataGridView1.KeyDown If e.KeyCode = Keys.Tab Then e.Handled = True If sender.CurrentRow.Index <> sender.Rows.Count - 1 Then sender.CurrentCell = sender(3, sender.CurrentRow.Index + 1) End If End If End Sub Private Sub DataGridView1_KeyUp(sender As Object, e As KeyEventArgs) Handles DataGridView1.KeyUp If e.KeyCode = Keys.Tab Then e.Handled = True If sender.CurrentRow.Index <> sender.Rows.Count Then sender.CurrentCell = sender(3, sender.CurrentRow.Index) End If End If End Sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д