Klicken Verständlicherweise dies ist alt, aber ich auf diesen Beitrag lief während der Suche, das Gleiche zu tun. Ich dachte, es könnte ein tatsächliches Ziehereignis geben, aber ich denke nicht. Hier ist, wie ich es gemacht habe.
Private Sub ContainerToolStripMenuItem_Click(sender As System.Object, e As System.EventArgs) Handles ContainerToolStripMenuItem.Click
Dim pnl As New Panel
pnl.Size = New Size(160, 160)
pnl.BackColor = Color.White
AddHandler pnl.MouseDown, AddressOf Control_DragEnter
AddHandler pnl.MouseUp, AddressOf Control_DragLeave
AddHandler pnl.MouseMove, AddressOf Control_Move
Me.Controls.Add(pnl)
End Sub
Private Sub Control_DragEnter(ByVal sender As Object, ByVal e As EventArgs)
MouseDragging = True
End Sub
Private Sub Control_DragLeave(ByVal sender As Object, ByVal e As EventArgs)
MouseDragging = False
End Sub
Private Sub Control_Move(ByVal sender As Object, ByVal e As EventArgs)
If MouseDragging = True Then
sender.Location = Me.PointToClient(Control.MousePosition)
End If
End Sub
Die ContainerToolStripMenuItem
ist von meinem Toolstrip, die einen Panel on-the-fly erstellt. MouseDragging
ist Klassenstufe. Zieht wie ein Zauber. Verwenden Sie auch nicht Cursor.Position
, da es die Position relativ zu Ihrem gesamten Fenster zurückgibt, nicht das Formular (oder welchen Container Sie auch haben).
Zugegeben, das OP könnte klarer sein, was er benutzt, aber ich glaube nicht, dass er versucht, dies in HTML zu tun. – Josh