c#DataGridView EditMode和DeleteKey

时间:2012-06-04 01:22:33

标签: c# winforms datagridview

c#winforms

我的DataGridView有:

SelectionMode - CellSelect

EditMode - EditOnKeyStroke

它适用于所有键,除了fot DeleteKey(按下时 - 没有任何事情发生)。

我想 - 如果按下DeleteKey - 选择的单元格(或单元格)保持选中状态,但是 - 空值(如在Excel中)。

我必须只为DeleteKey创建一个单独的KeyDownEvent吗?

1 个答案:

答案 0 :(得分:3)

删除键在(可能)允许用户从网格中删除行中具有特殊意义。不允许使用Delete键在DataGridView中启动“编辑”模式。因此,您需要以某种方式将单元格置于编辑模式,以便允许DataGridViewCell(而不是DataGridView本身)处理删除键。

要做到这一点,你可以按照你的建议实现一个KeyPress处理程序,这样按下删除会让你进入编辑模式,然后再次处理删除内容。或者,如果需要付出太多努力,您也可以将DataGridView.EditMode更改为'OnEnter',在这种情况下,每个单元格在获得焦点时始终处于编辑模式,可以通过鼠标或单元格之间的Tab键进行。然后,按删除将导致删除内容。