在单元格编辑后阻止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;