在编辑模式下,进入下一个单元格并保持VB.NET DataGridView的编辑模式?

时间:2010-08-02 15:21:01

标签: vb.net datagridview editmode

我有一个DataGridView,其中一列包含用户需要通过添加空格来对齐的数据。例如,前两行可能包含:

kumbu
kuimbiu

用户需要能够通过添加空格来排列匹配的字母。像这样:

ku mb u
kuimbiu

现在为了使用DataGridView,用户必须在顶部单元格中输入编辑模式,添加空格,按Enter键,在底部单元格中重新进入编辑模式,然后添加空格。我们的用户希望能够在顶部单元格的编辑模式下点击向下箭头并前进到第二个单元格,同时保持编辑模式,从而节省点击次数或F2次点击。

这样做有好办法吗?我试图捕获向下箭头键,离开编辑模式,推进单元格,然后使用网格的BeginEdit方法进入编辑模式,但这不符合我的要求。

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

离开单元格时,在类变量中捕获编辑状态。当用户按下或进入时,下一个单元格将开始编辑模式,但前提是前一个单元格处于编辑模式。如果您希望它基于列,则可以添加其他逻辑。

Private blnEditMode As Boolean = False
Private Sub dgv_CellEnter(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles dgv.CellEnter
    If blnEditMode Then
        dgv.BeginEdit(False)
    End If
End Sub

Private Sub dgv_CellLeave(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles dgv.CellLeave
    blnEditMode = dgv.IsCurrentCellInEditMode
End Sub