Déplacer un formulaire vb.net sans barre de titre et sans pb de visuel(flash) en moins de 10 lignes de code
Source / Exemple :
''explication: à placer dans les déclarations privées du formulaire
Private _DecX As Double 'utilisé pour calculer le décalage entre le curseur de la souris et le formulaire
Private _DecY As Double 'utilisé pour calculer le décalage entre le curseur de la souris et le formulaire
''explication: gestion du déplacement (évènement mousemove du formulaire)
Private Sub Form1_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles MyBase.MouseMove
If e.Button = MouseButtons.Left Then 'si bouton gauche
If Me.MouseButtons = MouseButtons.Left Then 'si bouton gauche (sécurité)
MyBase.DesktopLocation = New System.Drawing.Point(Me.MousePosition.X - Me._DecX, Me.MousePosition.Y - Me._DecY) 'déplacement du formulaire
End If
End If
End Sub
''explication: gestion du décalage entre la position de la souris et la position du formulaire (évènement mousedown du formulaire)
Private Sub Form1_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles MyBase.MouseDown
'calcul du décalage entre la position du formulaire et la position de la souris
Me._DecX = Me.MousePosition.X - Me.DesktopLocation.X
Me._DecY = Me.MousePosition.Y - Me.DesktopLocation.Y
End Sub
Conclusion :
Si le formulaire est recouvert de control, il suffit d'ajouter les handlers aux évènements pour que celà fonctionne.
Ex: Private Sub Form1_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles MyBase.MouseMove, TextBox1.MouseMove (à faire sur tout les contrôles permettant le déplacement du formulaire et sur tous les évènements cités ci-dessus)
ATTENTION: Le dépassement d'écran n'est pas géré dans ce code
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.