使えるイベント
特徴 | |
---|---|
CellClickイベント | セル内を左クリックしたときに発生する |
CellMouseDownイベント | セル内をクリックしたときに発生する 左クリック以外のマウス操作(右クリック、ミドルクリック等でも発生する |
【CellClickイベント】左クリックされたセルの値を取得
VB
Private Sub DataGridView1_CellClick(sender As Object, e As DataGridViewCellEventArgs) Handles DataGridView1.CellClick
'行ヘッダ・列ヘッダの場合、スキップ
If e.RowIndex < 0 Then Return
If e.ColumnIndex < 0 Then Return
MessageBox.Show(DataGridView1.Rows(e.RowIndex).Cells(e.ColumnIndex).Value.ToString)
End Sub
【CellMouseDownイベント】右クリックされたセルの値を取得
VB
Private Sub DataGridView1_CellMouseDown(sender As Object, e As DataGridViewCellMouseEventArgs) Handles DataGridView1.CellMouseDown
'行ヘッダ・列ヘッダの場合、スキップ
If e.RowIndex < 0 Then Return
If e.ColumnIndex < 0 Then Return
'右クリックの場合
If e.Button = MouseButtons.Right Then
MessageBox.Show(DataGridView1(e.ColumnIndex, e.RowIndex).Value)
End If
End Sub
動作確認用コード
VB
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Dim dt As New DataTable
With dt
.Columns.Add("Col1", GetType(String))
.Columns.Add("Col2", GetType(String))
.Rows.Add("A001", "B001")
.Rows.Add("A002", "B002")
End With
With DataGridView1
.DataSource = dt
End With
End Sub
コメント