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