2

时间:2019-06-01 标签:c#winforms

我的 DataGridView 有:

选择模式 - 单元格选择

EditMode - EditOnKeyStroke

它适用于除 fot DeleteKey 之外的所有键(按下时 - 没有任何反应)。

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

我必须仅为 DeleteKey 创建单独的 KeyDownEvent 吗?

4

1 回答 1

3

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

为此,您可以按照您的建议实现 KeyPress 处理程序,以便按下删除键让您进入编辑模式,然后再次处理以删除内容。或者,如果这太费力了,您也可以将 DataGridView.EditMode 更改为“OnEnter”,在这种情况下,每个单元格总是在获得焦点时进入编辑模式,无论是通过鼠标还是在单元格之间切换。然后,按删除将导致内容被删除。

于 2012-06-04T02:53:33.973 回答