【发布时间】:2017-05-31 05:11:50
【问题描述】:
我有一个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 总是抛出 NullReferenceException。
有什么想法吗?
【问题讨论】:
-
看看答案here。这是一个 c# 问题,但是答案转换为 VB.NET,因此您应该能够从中挑选出一些内容。
-
谢谢,我看到了这个问题。问题不在于运行任何函数/方法/事件 - 问题在于,第一次单击始终聚焦该行并且即使 DataGridView EditMode 为 EditOnEnter 也不会触发 CellClick/CellContentClick 事件。有什么解决方法吗?每当用户单击 DataGridViewButtonColumn 时,DataGridViewButtonColumn 后面的代码都会触发...
标签: vb.net datagridview click datagridviewbuttoncolumn