Meric de toutes vos réponses, le seul truc c'est qu'effectivement, c'est du .net ! x'D Merci :) Je repost là-bas ! En essayant d'être plus clair.
Private lastmouselocation As Point 'choice1 c'est chez toi 1 Private Sub choice1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles choice1.Click Dim mylabel As New Label With mylabel .Font = New Font("arial", 12, FontStyle.Bold) .Text = "BLABLA" .BorderStyle = BorderStyle.Fixed3D .Location = New Point(10, 60) .Visible = True End With Me.Controls.Add(mylabel) AddHandler mylabel.MouseMove, AddressOf labelmousemove AddHandler mylabel.MouseDown, AddressOf labelmovedown End Sub Private Sub labelmovedown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) lastmouselocation = e.Location End Sub Private Sub labelmousemove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Dim ptlabel As New Point ptlabel = e.Location If e.Button = Windows.Forms.MouseButtons.Left Then DirectCast(sender, Label).Left += e.Location.X - lastmouselocation.X DirectCast(sender, Label).Top += e.Location.Y - lastmouselocation.Y End If End Sub
Mais je trouve aucune autre chose
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionQuand les recherches pour copier-coller ne suffisent plus, le moment est venu d'utiliser son cerveau...
je saurez que ce forum n'est pas du tout acceuillant envers les nouveaux
If Rectangle.IntersectsWith(DirectCast(sender, Label).Bounds, LabelStatique.Bounds) then
Option Strict On Public Class Form1 'déclaration des item label Dim WithEvents ToolStripMenuItem2, ToolStripMenuItem3 As ToolStripLabel 'déclaration du label à déplacer Dim MonLabel As Label Dim MonLabelStatique As Label 'déclaration d'un point servant de base au déplacement Dim MonPoint As Point Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load ToolStripMenuItem2 New ToolStripLabel With {.Text "bibi"} ToolStripMenuItem3 New ToolStripLabel With {.Text "baba"} Dim ToolStrip As New ToolStrip({ToolStripMenuItem2, ToolStripMenuItem3}) With {.Parent = Me} End Sub 'observe qu'on peut abonner tous les toolstrip au même événement avec Handles Private Sub ToolStripMenuItem2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) _ Handles ToolStripMenuItem2.Click, _ ToolStripMenuItem3.Click MonLabelStatique = MonLabel 'instance d'un label en récupérant son texte depuis ton toolstrip MonLabel New Label With {.Text DirectCast(sender, ToolStripLabel).Text, _ .BackColor = Color.Pink, _ .Location = New Point(15, 30), _ .BorderStyle = BorderStyle.FixedSingle } 'ajout des abonnements aux événements Mouse... AddHandler MonLabel.MouseDown, AddressOf MonLabelMouseDown AddHandler MonLabel.MouseMove, AddressOf MonLabelMouseMove 'ajout au formulaire Me.Controls.Add(MonLabel) End Sub Private Sub MonLabelMouseDown(ByVal sender As Object, ByVal e As MouseEventArgs) 'au clic gauche, on récupère un point de base If e.Button = Windows.Forms.MouseButtons.Left Then 'on ré-attibue ici MonLabel au contrôle à déplacer 'ceci permet de reprendre n'importe quel label pour le déplacer à nouveau MonLabel = DirectCast(sender, Label) 'récupération du point de base MonPoint = e.Location End If End Sub Private Sub MonLabelMouseMove(ByVal sender As Object, ByVal e As MouseEventArgs) 'au déplacement(bouton gauche enfoncé) on calcule le point du label en se servant de Point.Subtract If e.Button = Windows.Forms.MouseButtons.Left Then MonLabel.Location = Point.Subtract(Cursor.Position, _ New Size(Me.Left + MonPoint.X, _ Me.Top + MonPoint.Y + SystemInformation.CaptionHeight)) If MonLabel IsNot Nothing AndAlso MonLabelStatique IsNot Nothing Then If Rectangle.Intersect(MonLabel.Bounds, MonLabelStatique.Bounds) <> Rectangle.Empty Then Me.Controls.Remove(MonLabelStatique) End If End If End If End Sub End Class