4

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

在此处输入图像描述

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

在此处输入图像描述

可能吗?

4

3 回答 3

5

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

public class CustomGrid : DataGridView {            
        protected override bool ProcessDialogKey(Keys keyData) {
            if (keyData == Keys.Enter) {    
                EndEdit();
                return true;
            }
            return base.ProcessDialogKey(keyData);
        }
}
于 2013-08-28T17:51:33.473 回答
1

KeyDown 事件:

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

于 2014-05-12T20:05:09.090 回答
0

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

获取列和行索引:

e.ColumnIndex;
e.RowIndex;

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

dataGridView1.Rows[rindex].Cells[cindex].Selected = true;
于 2013-08-28T17:15:54.683 回答