我有一个DataGridView,如果右键单击某个单元格,则要使用一个ContextMenuStrip;如果单击一个单元格标题,则要使用另一个ContextMenuStrip。我不要只想添加或删除“相同” CMS的成员,或使其成为可见或不可见成员。我认为这就像单击鼠标右键更改DataGridView的属性一样容易,但我一定会误会。
Private Sub DgvItems_CellClick(sender As Object, e As DataGridViewCellEventArgs) Handles DgvItems.CellClick
Dim dgv As DataGridView = DgvItems
If MouseButtons.Right Then
Select Case md.HitTestInfo.Type
Case DataGridViewHitTestType.ColumnHeader
dgv.ContextMenuStrip = CmsDgvItemsColHdrs
dgv.ContextMenuStrip.Show()
Case DataGridViewHitTestType.Cell
dgv.ContextMenuStrip = CmsDgvItemsRows
dgv.ContextMenuStrip.Show()
End Select
End If
End Sub
有什么想法吗?
答案 0 :(得分:1)
Du。也许如果我第一次做对的事就可以了。
这是正确的代码,无需再次“ dgv.ContextMenuStrip.Show()
” ...
Private Sub DgvItems_CellMouseDown(sender As Object, e As DataGridViewCellMouseEventArgs) Handles DgvItems.CellMouseDown
Dim dgv As DataGridView = DgvItems
If MouseButtons.Right Then
Select Case md.HitTestInfo.Type
Case DataGridViewHitTestType.ColumnHeader
dgv.ContextMenuStrip = CmsDgvItemsColHdrs
Case DataGridViewHitTestType.Cell
dgv.ContextMenuStrip = CmsDgvItemsRows
End Select
End If
End Sub