当前位置: 代码迷 >> VB Dotnet >> DataGridView表格编辑状态回车,怎么让输入焦点右移
  详细解决方案

DataGridView表格编辑状态回车,怎么让输入焦点右移

热度:65   发布时间:2016-04-25 02:08:00.0
DataGridView表格编辑状态回车,如何让输入焦点右移?
请大家赐教个问题:
DataGridView表格中录入数据时,有时希望回车后单元格焦点右移,有时希望单元格焦点下移。系统中DataGridView表格编辑状态默认回车焦点下移,怎样改呀?
------解决思路----------------------
回车要么有移,要么下移,貌似只能选其一
------解决思路----------------------
cellvalidated事件中,改变当前单元格为下一行的单元格
------解决思路----------------------
像excel就是一个tab一个enter用两个键一个右移一个下移,当然这里用tab估计就丢焦点了
------解决思路----------------------
进来学习学习
如果按tab是不是焦点就跑了啊~
------解决思路----------------------
引用:
谢谢bdmh  版主!
我做了以下测试,希望回车后单元格焦点自动进入当前行的下一列,但提示错误,

Private Sub DataGridView1_CellValidated(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellValidated

DataGridView1.CurrentCell = DataGridView1.Rows(DataGridView1.CurrentCell.RowIndex).Cells(DataGridView1.CurrentCell.ColumnIndex + 1)

End Sub
提示的错误信息是:未处理StackOverflowException
“System.StackOverflowException”类型的未经处理的异常出现在 System.Windows.Forms.dll 中。
去掉 “+1” 就可以正常运行,但无法达成焦点右移的预期。能进一步给些指点吗?


Me.Dg_YZXX.CurrentCell = Me.Dg_YZXX.CurrentRow.Cells( Me.Dg_YZXX.CurrentCellAddress.X+1)
------解决思路----------------------
重新写个控件,继承datagridview,把里面的回车下移改成回车右移,代码我曾经给你回复过
------解决思路----------------------
cellvalidated事件中,改变当前单元格为下一行的单元格
  相关解决方案