VB.NET Datagridview - 修改currentcell

时间:2016-02-03 14:17:53

标签: vb.net datagridview

这是我第一次提出问题,我会尽力明白。 我在vb.net中创建了一个包含3列5行的datagridview。 我的列包含作业标题。每行包含有关这些作业的信息:名字,姓氏,社团,电话号码,邮件。

看起来像:

             | J1 | J2 | J3
----------------------------
firstname    | x  | y  | z
lastname     | x1 | y1 | z1
society      | x2 | y2 | z2
phone number | x3 | y3 | z3
mail         | x4 | y4 | z4

当我编辑作业1(x)的名字时,我想通过按Tab键进入该作业的姓氏单元格(x1)。 目前,当我按Tab键时,我输入第二个作业的名字单元格(y)。

我试图在datagridview.CellEndEdit事件之后更改currentcell。我注意到单元格(x1)已被选中,但是tab键将我编辑的currentcell更改为'普通currentcell'(y)。

如何阻止Tab键更改我编辑的currentcell? 感谢。

1 个答案:

答案 0 :(得分:0)

尝试创建自己的DataGridView控件,以便覆盖ProcessCmdKey操作:

Public Class DataGridViewEx
  Inherits DataGridView

  Protected Overrides Function ProcessCmdKey(ByRef msg As Message, keyData As Keys) As Boolean
    If keyData = Keys.Tab Then
      Me.ProcessDownKey(keyData)
      Return True
    End If
    Return MyBase.ProcessCmdKey(msg, keyData)
  End Function
End Class