Vb.net 如何在正在编辑的dgv1中的行的正下方显示dgv2
我试图在dgv1上显示dgv2,但就在正在编辑的dgv1中的行下方 我用这个密码试过了Vb.net 如何在正在编辑的dgv1中的行的正下方显示dgv2,vb.net,datagridview,Vb.net,Datagridview,我试图在dgv1上显示dgv2,但就在正在编辑的dgv1中的行下方 我用这个密码试过了 Private Sub Purchases_CellBeginEdit(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellCancelEventArgs) Handles Purchases.CellBeginEdit Dim Y as integer = 0 For i As Integer
Private Sub Purchases_CellBeginEdit(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellCancelEventArgs) Handles Purchases.CellBeginEdit
Dim Y as integer = 0
For i As Integer = 0 To dgv1.CurrentRow.Index
If dgv1.Rows(i).Index < dgv1.CurrentRow.Index Then
Y = dgv1.Rows.Count * dgv1.Rows(0).Height + dgv1.ColumnHeadersHeight + 12
End If
Next
dgv2.Location = New Point(53, Y)
End Sub
我显示的很好,但当我返回到dgv1上的第1行时,它保持在原来的位置。假设我从第1行开始编辑,到了第4行,我想在第1行进行更正,我想dgv2移回第1行
任何帮助都将不胜感激。我删除了if条件,它工作得非常完美 这是密码
Try
For i As Integer = 0 To Purchases.CurrentRow.Index
Y = i * Purchases.Rows(0).Height + Purchases.ColumnHeadersHeight + 34
Next
itemlist.Location = New Point(53, Y)
Catch ex As Exception
MsgBox(ex.Message)
End Try
我自己也遇到了这个问题,发现使用鼠标y位置减去表单顶部+24非常有效
Private Sub DataGridView1_CellEnter(sender As Object, e As DataGridViewCellEventArgs) Handles DataGridView1.CellEnter
mouseY = Windows.Forms.Cursor.Position.Y - Me.Top + 24
End Sub
在哪种情况下调用dgv2以显示在dgv1行下方?dgv1单元格开始编辑。谢谢