'DataGridView右键点击行时选中行,并且弹右键快捷菜单
Private Sub GridView1_CellMouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellMouseEventArgs) Handles GridView1.CellMouseDown
If e.Button = Windows.Forms.MouseButtons.Right Then
If e.RowIndex >= 0 And e.ColumnIndex >= 0 Then '选中行头或列头均不触发
'MsgBox(e.RowIndex & " : " & e.ColumnIndex)
'若行已是选中状态就不再进行设置
If (GridView1.Rows(e.RowIndex).Selected = False) Then
GridView1.ClearSelection()
GridView1.Rows(e.RowIndex).Selected = True
End If
'只选中一行时设置活动单元格
If (GridView1.SelectedRows.Count = 1) Then
GridView1.CurrentCell = GridView1.Rows(e.RowIndex).Cells(e.ColumnIndex)
End If
'弹出操作菜单 End If
Me.ContextMenu1.Show(MousePosition.X, MousePosition.Y) '鼠标在屏幕上的位置
End If
End Sub