【发布时间】:2016-08-04 07:42:32
【问题描述】:
我在dataGridView1_SelectionChanged 和dataGridView1_CellEndEdit 事件中使用此代码。它可以正常工作,但是当我首先按 enter 键时,编辑控件焦点会跳转到所选列的新行,然后自动返回上一行并选择下一个单元格。但是我想直接转移到所选行的下一个单元格。
更多详情,我附上一张图片。
请帮助我。我为此尝试了很多逻辑。
这是我的代码
try
{
if (MouseButtons != 0) return;
if (celWasEndEdit != null && dataGridView1.CurrentCell != null)
{
// if we are currently in the next line of last edit cell
if (dataGridView1.CurrentCell.RowIndex == celWasEndEdit.RowIndex + 1 &&
dataGridView1.CurrentCell.ColumnIndex == celWasEndEdit.ColumnIndex)
{
int iColNew;
int iRowNew = 0;
if (celWasEndEdit.ColumnIndex >= dataGridView1.ColumnCount - 1)
{
iColNew = 0;
iRowNew = dataGridView1.CurrentCell.RowIndex;
}
//if we Edit the cell and press Enter the focus on the next cell
else
{
iColNew = celWasEndEdit.ColumnIndex + 1;
iRowNew = celWasEndEdit.RowIndex;
}
dataGridView1.CurrentCell = dataGridView1[iColNew, iRowNew];
}
}
celWasEndEdit = null;
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
【问题讨论】:
标签: forms winforms c#-4.0 datagridview ado.net