自动将焦点移动到下一个单元格datagridview

时间:2011-07-16 19:49:53

标签: .net winforms datagridview focus cell

我有一个datagridview(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 个答案:

答案 0 :(得分:2)

我相信你实际上处于第一个单元格的编辑模式,也许你可以将其推入CellEnter事件,以防第一个单元格使用SendKeys.Send(“{TAB}”)移动你到下一个细胞。此外,如果用户不会更改该值,则将第一列设置为ReadOnly

您还可以尝试设置CurrentCell此类内容的DataGridView属性

datagridview1.CurrentCell = Rows(e.RowIndex).Cells(1);
相关问题