首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DataGridView选择行

DataGridView选择行
EN

Stack Overflow用户
提问于 2013-03-22 02:51:47
回答 1查看 14.8K关注 0票数 1

我想在我的DataGridView中右击选择一行。但在我当前的代码中,我首先必须用常规的鼠标左键点击该行。

有没有办法用鼠标右键选择当前行,然后打开一个ContextMenuStrip?

代码语言:javascript
复制
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
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-03-22 08:30:45

试试这个:

代码语言:javascript
复制
   Private Sub DataGrid1_CellMouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs)

    On Error Resume Next

    If e.Button = MouseButtons.Right Then

        'Clear previous selections
        For x As int32 = 0 To ds.Tables(0).Rows.Count() - 1
            DataGrid1.UnSelect(x)
        Next x

        'select row under mouse click
        Dim info As DataGrid.HitTestInfo = DataGrid1.HitTest(e.X, e.Y)

        If info.Row > -1 Then

            DataGrid1.CurrentRowIndex = info.Row
            DataGrid1.Select(info.Row)

            Application.DoEvents()

            DataGridContextMenu.Show(Cursor.Position)

        End If

        info = Nothing

    End If

End Sub
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15555788

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档