Я пытаюсь реализовать пользовательскую операцию перетаскивания для сортировки панелей.
Я назначаю объект переменной в событии MouseDown и отслеживаю его относительное положение, изучая событие MouseMove соседних панелей, когда перетаскиваю на них мышь.
Private Sub ThumbnailMouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs)
_thumbnailMove = DirectCast(sender, Windows.Forms.Control) ‘The object to move
End Sub
Проблема в том, что параметр Sender события MouseMove никогда не изменяется - он всегда возвращает объект, получивший событие MouseDown.
Private Sub ThumbnailMouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs)
Console.WriteLine(sender.Name) 'Always returns the name of the _thumbnailToMove
End Sub
Почему аргумент Sender MouseMove не возвращает фактический объект, над которым в данный момент находится мышь?