在DataGridView中手动触发按钮单击事件

时间:2017-01-16 11:13:58

标签: vb.net datagridview click datagridviewbuttoncolumn

我有一个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

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

我认为单击DataGridViewButtonColumn单元格时无法处理特定事件。 <{1}}的{​​{1}}和DataGridView事件会被解雇。

我无法延迟点击Cell_Clicked一次,然后再次点击以触发按钮。当我点击CellContentClicked按钮单元格时,DataGridView事件立即被触发。更改DataGridView的{​​{1}}没有任何区别。下面的代码只是标识从Cell_Clicked事件中单击的WHICH单元格。如果单击的单元格是按钮列(1或2),则我调用创建的方法DataGridView来处理按下的按钮并继续使用正确的按钮方法。希望这会有所帮助。

EditMode