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)の回答を見てください。あなたがビットを選ぶことができるはずですので、答えはVB.NETに変換されますが、C#の質問です。 – Bugs
ありがとう、私はこの質問を見ました。この問題は、関数/メソッド/イベントを実行することではなく、**最初のクリックで常に行がフォーカスされ、DataGridView EditModeがEditOnEnter **であってもCellClick/CellContentClickイベントが発生しないという問題があります。回避策はありますか?ユーザーがDataGridViewButtonColumnをクリックするたびにDataGridViewButtonColumnの背後にあるコードが起動するはずです... – tmieruch