1
と呼ばれることはありません。カスタムコントロールをドラッグアンドドロップしようとしています。同じクラスの別のインスタンスにドロップ可能でなければなりません。DragLeaveはVB.Netアプリケーションで
Private Sub HandleMouseDown(ByVal sender As Object, ByVal e As MouseEventArgs) Handles Me.MouseDown
Me.DoDragDrop(Me, DragDropEffects.Copy)
End Sub
Private Sub HandleDragEnter(ByVal sender As Object, ByVal e As DragEventArgs) Handles Me.DragEnter
e.Effect = If(checkDropData(e), DragDropEffects.Copy, DragDropEffects.None)
End Sub
Private Sub HandleDragDrop(ByVal sender As Object, ByVal e As DragEventArgs) Handles Me.DragDrop
addControl(e.Data.GetData(GetType(MyControl)))
End Sub
Private Sub HandleDragLeave(ByVal sender As Object, ByVal e As DragEventArgs) Handles Me.DragLeave
Console.WriteLine("HandleDragLeave: " & sender.ToString)
End Sub
私はコントロールをドロップすることができていますが、DragLeave
イベントをドラッグしながら呼ばれることは決してありません。だからここに私が使用するコードです。私は何か見落としてますか?
答えではなくコメントではなく、メモリ上からDragLeaveイベントを処理する必要があります。 – OSKM
@OSKMそれは本当ですが、ターゲットとソースは同じクラスのインスタンスなので、ターゲットはイベントを処理する必要がありますか、間違っていますか? – Obenland