是否可以通过按下键开始编辑 DataGridViewComboBoxCell?

Is it possible to start editing a DataGridViewComboBoxCell by pressing down key?

我正在开发一个使用 DataGridView 的项目,其中一些列是 DataGridViewComboBoxColumn。
我的用户想通过按下键来编辑这些 ComboBoxCell。

实际上我有两个想法:

  1. 将这些单元格开始编辑模式的键改为向下键
  2. 检查我的 DataGridView 上的事件 Keydown,如果 CurrentCell 是 ComboBoxCell,则强制下拉此单元格

但我没能找到一种方法来做这些。

那么,有没有办法实现这个?(即使它没有使用我的想法之一)

您可以使用 DataGridView.KeyDown 事件:

Private Sub DataGridView1_KeyDown(sender As Object, e As System.Windows.Forms.KeyEventArgs) Handles DataGridView1.KeyDown

    If e.KeyValue = Keys.Down Then
        With Me.DataGridView1
            If .Columns(.CurrentCell.ColumnIndex).GetType.Name = "DataGridViewComboBoxColumn" Then
                If Not .IsCurrentCellInEditMode Then
                    .BeginEdit(True)
                    CType(.EditingControl, ComboBox).DroppedDown = True
                    e.Handled = True
                End If
            End If
        End With
    End If

End Sub

抱歉,VB.NET 代码,但您可以轻松地将其转换为 C#