title: How to capture arrow keys in datagridview cell end edit in VB.net
body: <p>Here is my code for Cell End Edit and Selection Changed event:</p>
  
  <pre><code>Private Sub dvJOBranch_CellEndEdit(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles dvJOBranch.CellEndEdit
  
      'get the current column and row index
      curCol = e.ColumnIndex
      curRow = e.RowIndex
  
      'if the cell is blank, set it to zero
      If IsDBNull(dvJOBranch.Rows(curRow).Cells.Item(curCol).Value) Then
          dvJOBranch.Rows(curRow).Cells.Item(curCol).Value = 0
  
          'convert it to integer
      Else
          dvJOBranch.Rows(curRow).Cells.Item(curCol).Value = _
              Convert.ToInt32(dvJOBranch.Rows(curRow).Cells.Item(curCol).Value.ToString())
      End If
  
  
  
      'if the user do mouseclick in datagridview
      isMouseClick = dvJOBranch.Capture.ToString()
  
      'if the user does not click any cell from the datagridview
      If isMouseClick = False Then
  
          isEdited = True
          iColumnindex = e.ColumnIndex
          irowindex = e.RowIndex
  
          If dvJOBranch.CurrentRow.Index = dvJOBranch.RowCount - 1 Then
              If dvJOBranch.CurrentCell.ColumnIndex &lt; dvJOBranch.ColumnCount - 1 Then
                  dvJOBranch.CurrentCell = dvJOBranch.Item(iColumnindex + 1, irowindex)
              End If
              isEdited = False
          End If
  
      End If
  
  
  
  End Sub
  
  Private Sub dvJOBranch_SelectionChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles dvJOBranch.SelectionChanged
  
      'if the user does not click any cell from the datagridview
      If isMouseClick = False Then
  
          If isEdited Then
              If dvJOBranch.CurrentCell.ColumnIndex &lt; dvJOBranch.ColumnCount - 1 Then
                  dvJOBranch.CurrentCell = dvJOBranch.Item(iColumnindex + 1, irowindex)
              Else
                  dvJOBranch.CurrentCell = dvJOBranch.Item(2, irowindex + 1)
              End If
              isEdited = False
          End If
  
  
      End If
  
      'set it to false
      isMouseClick = False
  
  End Sub
  </code></pre>
  
  <p>The function of this code is to move the current cell to the right after editing using ENTER key, In my code I also capture the mouse click if the user click any cell because it has errors If i do not capture the mouse click, What I'm trying to do now is to capture the Arrow keys while I'm editing. Because after editing a cell, for example when I press Arrow key UP, it moves to the right like the Function for my ENTER key instead of moving upward.</p>
  
  <p>Any help and guide will be appreciated, Thank you</p>