Изменить активацию двойным щелчком в ячейке поля со списком на одиночный щелчок?

У меня есть настройка в моем коде, где есть datagridview. Для каждой строки у меня есть ячейка поля со списком, у меня есть отдельная ячейка поля со списком, так как мне нужен другой выбор элементов для каждой ячейки.

Проблема: ячейка опускается вниз, только если дважды щелкнуть стрелку. Как я могу изменить форматирование ячейки или, возможно, событие щелчка ячейки, чтобы ячейка реагировала только на один щелчок?

Вот мой код создания ячейки. Честно говоря, я не запускал никакой другой код, так как не знал, какое событие нужно коснуться или вызвать. Есть ли свойство, которое я могу редактировать?

Код:

           'add items to combobox list 
            Dim comboCell As New DataGridViewComboBoxCell 
            comboCell.FlatStyle = FlatStyle.Flat
            Dim resolutionList As New List(Of cmbStruct)

            Dim currentResIndex As Integer = 0

            'create list of resolutions
            For j As Integer = 0 To resolutions.Length - 1

                Dim resClass As New cmbStruct
                resClass.Name = resolutions(j)
                resClass.ID = resolutions(j)
                resolutionList.Add(resClass)
                comboCell.Items.Add(resolutions(j))

              Next

            'set combocell values
            comboCell.DisplayMember = "Name"
            comboCell.ValueMember = "ID"

           'set the default value to the current resolution index 

            Try
                comboCell.Value = resolutions(currentResIndex) 
            Catch ex As Exception

            End Try

            comboCell.ValueType = GetType(cmbStruct)
            comboCell.DataSource = resolutionList
            editCameraTable("Resolution", i) = comboCell

        Next

person Kat    schedule 08.07.2014    source источник


Ответы (2)


Измените свойство EditMode:

DataGridView1.EditMode = DataGridViewEditMode.EditOnEnter
person LarsTech    schedule 08.07.2014

Кажется, есть почти идентичный вопрос и очень хороший ответ. Это включает использование click_event. Вот ссылка: Как вручную раскрыть столбец DataGridViewComboBoxColumn?

По ссылке:

Private Sub cell_Click(ByVal sender As System.Object, ByVal e As DataGridViewCellEventArgs) Handles      DataGridView1.CellClick
    DataGridView1.BeginEdit(True)
    If DataGridView1.Rows(e.RowIndex).Cells(ddl.Name).Selected = True Then
        DirectCast(DataGridView1.EditingControl, DataGridViewComboBoxEditingControl).DroppedDown = True
    End If
End Sub
person Sastreen    schedule 08.07.2014
comment
Итак, это больше меняет стиль поля со списком? Может, это другое решение? - person Kat; 08.07.2014