1

右クリックでDataGridViewの行を選択したい。しかし、現在のコードでは、最初に通常の左マウスクリックで行をクリックする必要があります。

右クリックで現在の行を選択し、ContextMenuStripを開く方法はありますか?

Private Sub DataGridView1_CellMouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellMouseEventArgs) Handles DataGridView1.CellMouseDown
    If e.Button = Windows.Forms.MouseButtons.Right AndAlso e.RowIndex >= 0 Then
        Me.DataGridView1.CurrentCell = Me.DataGridView1.Rows(e.RowIndex).Cells(e.ColumnIndex)

    End If
End Sub

Private Sub datagridview1_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles DataGridView1.MouseDown
    If e.Button = Windows.Forms.MouseButtons.Right Then
        Dim hti As DataGridView.HitTestInfo = sender.HitTest(e.X, e.Y)
        If hti.Type = DataGridViewHitTestType.Cell Then
            If Not DataGridView1.Rows(hti.RowIndex).Selected Then
                DataGridView1.ClearSelection()
                DataGridView1.Rows(hti.RowIndex).Selected = True
            End If
        End If
    End If
End Sub
4

1 に答える 1