使用Tab键循环单个记录

时间:2014-03-29 19:09:07

标签: c# winforms datagridview

我试图获得某个tab& datagridview中的enter关键行为。一旦焦点在datagridview中的单元格上,我就会喜欢以下内容:

TAB - 循环遍历行中的单元格,而不转到行中最后一个单元格之后的下一行。即继续循环通过单个行中的细胞。

ENTER - 移至下一行。

我一直在网上寻找解决方案,但他们通常不是我以后的行为,而且他们大多需要创建一个派生的DataGridView课程,我会这样做。如果可能的话,我宁愿避免。

我还想避免触发RowLeave事件,因为我正在使用它来验证&然后接受/拒绝在该行中进行的任何细胞更改 - 因此有意识的ENTER按键移开该行并触发其验证&持久性。

1 个答案:

答案 0 :(得分:0)

我现在已经实现了这个解决方案,并且我认为我应该在这里更新我所采用的特定方法的详细信息。

我在DataGridView OnKeyDown事件中添加了以下内容:

if (e.KeyCode == Keys.Tab)
    {
        if (dataGrid.CurrentCell.ColumnIndex == dataGrid.Columns.Count - 1)
            {
                dataGrid.CurrentCell = dataGrid[1,dataGrid.CurrentCell.RowIndex]; 
            }
    }

似乎可以做到这一点。