我的窗体上有两个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时,使标签跟随光标,并且在拖放完成后,标签应该消失。
1条答案
按热度按时间htzpubme1#
我认为这里必须使用
ItemDrag
、DragOver
和DragDrop
事件。