将组合框单元格上的双击激活更改为单击?
Posted
技术标签:
【中文标题】将组合框单元格上的双击激活更改为单击?【英文标题】:Changing double clicking activation on Combo box cell to single click? 【发布时间】:2014-07-08 17:30:54 【问题描述】:我的代码中有一个设置,其中有一个 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
【问题讨论】:
【参考方案1】:更改 EditMode 属性:
DataGridView1.EditMode = DataGridViewEditMode.EditOnEnter
【讨论】:
【参考方案2】:似乎有一个几乎相同的问题和一个非常好的答案。它涉及使用 click_event。链接在这里: How to manually drop down a 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
【讨论】:
那么,这是否更改变了组合框的样式?也许这可能是另一种解决方案?以上是关于将组合框单元格上的双击激活更改为单击?的主要内容,如果未能解决你的问题,请参考以下文章