我有一个ID
,其中包含DataGridView
。用户应该可以直接使用该按钮,因此我将DataGridViewButtonColumn
设置为EditMode
。但是,第一次点击没有触发EditOnEnter
事件 - 似乎第一次点击选择/聚焦行/列?
所以我尝试使用Click
事件:
CellClick
但是这个解决方案也没有用。 Private Sub dgv_CellClick(sender As Object, e As DataGridViewCellEventArgs) Handles dgv.CellClick
Dim validClick = (e.RowIndex <> -1 And e.ColumnIndex <> -1)
If (TypeOf dgv.Columns(e.ColumnIndex) Is DataGridViewButtonColumn And validClick) Then
dgv.BeginEdit(True)
CType(dgv.EditingControl, Button).PerformClick()
End If
End Sub
始终会抛出EditingControl
。
有什么想法吗?
答案 0 :(得分:0)
我认为单击DataGridViewButtonColumn
单元格时无法处理特定事件。 <{1}}的{{1}}和DataGridView
事件会被解雇。
我无法延迟点击Cell_Clicked
一次,然后再次点击以触发按钮。当我点击CellContentClicked
按钮单元格时,DataGridView
事件立即被触发。更改DataGridView
的{{1}}没有任何区别。下面的代码只是标识从Cell_Clicked
事件中单击的WHICH单元格。如果单击的单元格是按钮列(1或2),则我调用创建的方法DataGridView
来处理按下的按钮并继续使用正确的按钮方法。希望这会有所帮助。
EditMode