Как вызвать контекстное меню по конкретной записи в DataGridView? - Visual Basic .NET

Узнай цену своей работы

Формулировка задачи:

делаю так:
но меню вылезает по всему datagridview. А как сделать что бы только для записей вызывалась данная менюшка? (занести № выделенной записи в label)
и сделать второе контекстное меню для всей области datagridview кроме записей. Как это сделать? спасибо.

Решение задачи: «Как вызвать контекстное меню по конкретной записи в DataGridView?»

textual
Листинг программы
 Private Sub dataGridView1_MouseUp(ByVal sender As Object, ByVal e As MouseEventArgs) Handles DataGridView1.MouseUp
        If e.Button <> MouseButtons.Right Then
            Return
        End If
        DataGridView1.ClearSelection()
        Dim dgv = DirectCast(sender, DataGridView)
        Dim cms As ContextMenuStrip = Nothing
        Dim hit = dgv.HitTest(e.X, e.Y)
        Select Case hit.Type
            Case DataGridViewHitTestType.Cell
                cms = ContextMenuStrip1
                DataGridView1.Rows(hit.RowIndex).Selected = True : Label1.Text = hit.RowIndex + 1
            Case DataGridViewHitTestType.None
                cms = ContextMenuStrip2
        End Select
        If cms IsNot Nothing Then
            cms.Show(dgv, e.Location)
        End If
    End Sub

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 4.429 из 5
Похожие ответы