winforms 拖动时使标签跟随光标

holgip5t  于 2023-06-24  发布在  其他
关注(0)|答案(1)|浏览(160)

我的窗体上有两个DataGridView控件。我想创建一个标签,在用户从一个DataGridView拖动到另一个DataGridView时显示信息。拖放事件完成后,标签应消失。

Private Sub Datagridview1_MouseDown(sender As Object, e As System.Windows.Forms.MouseEventArgs) Handles Datagridview1.MouseDown
    Dim SourceRow As Integer
    SourceRow = Datagridview1.HitTest(e.X, e.Y).RowIndex
    Datagridview1.DoDragDrop(SourceRow, DragDropEffects.Copy)
    label1.Text = "....Some Info..."
    followcursor = True
End Sub

Private Sub Form1_MouseMove(sender As Object, e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseMove
    If followcursor = True Then
        label1.Location = e.Location
    Else
        label1.Left = 1420
    End If
End Sub

我试过这个代码,但是标签在鼠标按钮释放后开始跟随光标(而不是在拖动时)。此外,当光标位于其他元素(如按钮或面板)上时,标签不会跟随光标。我的主要目标是当用户从一个DataGridView拖动到另一个DataGridView时,使标签跟随光标,并且在拖放完成后,标签应该消失。

htzpubme

htzpubme1#

我认为这里必须使用ItemDragDragOverDragDrop事件。

相关问题