我有一个DataGridView
,包括一个DataGridViewButtonColumn
。用户应该能够直接使用按钮,因此我将EditMode
设置为EditOnEnter
。但是,第一次点击并没有激发Click
事件 - 看起来第一次点击选择/聚焦行/列?DataGridView中手动触发按钮单击事件
于是,我就用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
总是抛出一个NullReferenceException
。
任何想法?
看一看答案[这里](http://stackoverflow.com/questions/3577297/how-to-handle-click-event-in-button-column-in-datagridview)。这是一个C#的问题,但答案转换为VB.NET,所以你应该能够从中挑选出一些位。 – Bugs
谢谢,我看到了这个问题。问题不在于运行任何函数/方法/事件 - 问题是,即使DataGridView EditMode是EditOnEnter **,**第一次单击始终关注该行并且不会触发CellClick/CellContentClick事件。有什么解决方法吗?每当用户点击一个DataGridViewButtonColumn时,DataGridViewButtonColumn背后的代码应该会触发...... – tmieruch