автоматическое перемещение фокуса на следующую ячейку - PullRequest
0 голосов
/ 16 июля 2011

У меня есть dagagview (DGV), в котором я хочу, чтобы первая ячейка строки была серийным номером, поэтому я поднял этот код.

  Private Sub dgvStudents_RowEnter(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DGVStudents.RowEnter
        Dim RowIndex As Integer = e.RowIndex
        Debug.Print(RowIndex.ToString)
        With DGVStudents
            .Rows(e.RowIndex).Cells(0).Value = e.RowIndex + 1
            If .Rows(e.RowIndex).Cells(0).Selected = True Then
                .Rows(e.RowIndex).Cells(0).Selected = False
                .Rows(e.RowIndex).Cells(1).Selected = True
            End If
        End With
        DGVStudents.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCells)
    End Sub

Основной целью является ввод новой строки, нумерация первой ячейки и перемещение фокуса на следующую.положить его в режиме редактирования, но я могу заставить его работать.любая помощь?

1 Ответ

2 голосов
/ 18 июля 2011

Я полагаю, что вы на самом деле находитесь в режиме редактирования первой ячейки. Возможно, вы могли бы вставить это в событие CellEnter, а в случае, если это первая ячейка, использовать SendKeys.Send ("{TAB}") для перемещенияследующая клетка.Кроме того, если значение не будет изменено пользователем, установите также первый столбец как ReadOnly.

Вы также можете попробовать установить свойство CurrentCell для DataGridView чего-то подобного

datagridview1.CurrentCell = Rows(e.RowIndex).Cells(1);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...