在单元格编辑后阻止windows窗体datagridview更改行

我在Windows窗体中有一个datagridview,编辑值时的默认行为是在单元格编辑后,当我按回车键时,所选行将更改为下一行。

在此处输入图像描述

我不希望这样,我想退出编辑模式,但保持在同一个单元格中。

在此处输入图像描述

可能吗?

您可以自定义DataGridView以覆盖ProcessDialogKey方法:

 public class CustomGrid : DataGridView { protected override bool ProcessDialogKey(Keys keyData) { if (keyData == Keys.Enter) { EndEdit(); return true; } return base.ProcessDialogKey(keyData); } } 

KeyDown事件:

如果e.KeyCode = Keys.Enter则e.SuppressKeyPress = True

它非常简单。 编辑时将单元cellindex保存在变量中,然后重新选择它。

获取列和行索引:

 e.ColumnIndex; e.RowIndex; 

并将它们保存到变量中。 编辑完单元格后,重新选择单元格:

 dataGridView1.Rows[rindex].Cells[cindex].Selected = true;