Работа над приложением DragDrop.У меня есть объект класса (построенный как объект), который имеет GroupBox, который включен для DragDrop.
В классе, который я настроил так, что курсор изменится, когда он входит в групповой ящик, оставляет групповой ящик, мышь внутри групповой рамки и перетаскивание работает.Я также установил метку в объекте класса и также изменил текст в этой метке.В принципе, текст меняется на этикетке, как ожидается, в том числе «обратной связи» появляется, когда я перетащить объект, но курсор остается упорно, как указатель.Это состояние дел либо когда я отлаживаю класс, либо когда после создания класса он запускается как часть основной программы.
Вот вспомогательные элементы, настроенные в классе.
Private Sub GroupBoxSourceMouseDown(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles GroupBoxSource.MouseDown
GroupBoxSource.DoDragDrop(GroupBoxSource.Text, DragDropEffects.Copy)
lbl1.Text = "DOWN"
End Sub
Private Sub GroupBoxSourceMouseMove(ByVal sender As Object, ByVal e AsSystem.Windows.Forms.MouseEventArgs) Handles GroupBoxSource.MouseMove
If bolDragDropMouseDown Then
' Initiate dragging.
'GroupBoxSource.DoDragDrop(GroupBoxSource.Text, DragDropEffects.Copy)
End If
bolDragDropMouseDown = False
lbl1.Text = "MOVE"
End Sub
Private Sub GroupBoxSourceMouseEnter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles GroupBoxSource.MouseEnter
Windows.Forms.Cursor.Current = Cursors.Hand
lbl1.Text = "ENTER"
End Sub
Private Sub GroupBoxSourceMouseLeave(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles GroupBoxSource.MouseLeave
Windows.Forms.Cursor.Current = Cursors.Arrow
lbl1.Text = "LEAVE"
End Sub
Private Sub GroupBoxSourceDragDropFeedback(ByVal sender As Object, ByVal e As GiveFeedbackEventArgs) Handles GroupBoxSource.GiveFeedback
Windows.Forms.Cursor.Current = Cursors.SizeAll
lbl1.Text = "FEEDBACK"
End Sub
Теперь о необычной сцене.Я решил поменять курсор во время FormLoad основной программы (в которой объект класса определен на форме) на руку, и ничего не изменилось.В отчаянии я установил таймер на 1 мс и закодировал его, чтобы изменить курсор на руку, и, конечно же, курсор теперь является рукой, но моментальность мигает назад к указателю, когда я перемещаю курсор, так что это выглядит так, как будто что-то вызывает курсорвернуться к значению по умолчанию.