我在Windows窗体中有一个datagridview,编辑值时的默认行为是在单元格编辑之后,当我按下回车键时,所选行将更改为下一行。
我不想要那样,我想退出编辑模式,但要停留在同一个单元格中。
有可能吗?
答案 0 :(得分:5)
您可以自定义DataGridView
以覆盖ProcessDialogKey
方法:
public class CustomGrid : DataGridView {
protected override bool ProcessDialogKey(Keys keyData) {
if (keyData == Keys.Enter) {
EndEdit();
return true;
}
return base.ProcessDialogKey(keyData);
}
}
答案 1 :(得分:1)
KeyDown事件:
如果e.KeyCode = Keys.Enter则e.SuppressKeyPress = True
答案 2 :(得分:0)
非常简单。编辑时将cellindex
保存在变量中,然后重新选择它。
获取列和行索引:
e.ColumnIndex;
e.RowIndex;
并将它们保存到变量中。编辑完单元格后,重新选择单元格:
dataGridView1.Rows[rindex].Cells[cindex].Selected = true;