Private Sub DataGridView1_CellMouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellMouseEventArgs) Handles DataGridView1.CellMouseDown
        Try            If e.Button = Windows.Forms.MouseButtons.Right Then
                If Me.GroupBox3.Text <> "预览导出\对比列表数据" Then
                    Me.ContextMenuStripdatagrid.Enabled = True
                    DataGridView1.ClearSelection()
                    DataGridView1.Rows(e.RowIndex).Selected = True
                    DataGridView1.CurrentCell = DataGridView1.Rows(e.RowIndex).Cells(e.ColumnIndex)
                    Dim n As Integer
                    n = DataGridView1.CurrentCell.RowIndex                Else
                    Me.ContextMenuStripdatagrid.Enabled = False
                End If            End If
这个是以前我写的一个功能  你看看吧  应该能满足你的要求
                  Catch ex As Exception
            MessageBox.Show("请选择有效数据行" & vbCrLf & ex.Message, "操作错误提示")
        End Try
    End Sub