Bonjour,
L'utilisateur de mon programme (une barre d'outils) fait en VB 2010 Express doit pouvoir supprimer un contrôle du formulaire en l'en sortant à la souris.
Dans le détail :
- pour le tester et trouver la solution, mon programme est constitué seulement d'un formulaire contenant lui, un seul contrôle (un bouton)
- je sais déclencher le déplacement de ce bouton (drag) par l'événement Button_MouseMove : sender.DoDragDrop(sender.Text, DragDropEffects.Move)
- je sais détecter l'événement "sortie du formulaire" : DragLeave
- je sais vérifier si la souris se trouve hors du formulaire :
Dim CP As New Point(Cursor.Position) ' coordonnées de la souris à l'écran
SourisEstDehors = CP.X < Left Or CP.Y < Top Or CP.X > Left + Width Or CP.Y > Top + Height
- je ne sais pas détecter le relachement du bouton de la souris à l'extérieur du formulaire
Questions :
- n'y a-t-il pas d'autre moyen qu'un Hook (lequel représente de nombreuses lignes de programme et des risques de plantage du PC) Je sais MicrosSoft assez malin pour avoir fourni une instruction simple.
- en VB 5, l'objet déplacé était représenté par une forme de la même taille (un label qu'on dimensionnait à cet effet) Ne peut-on faire la même chose en VB 2010 ? (par DoDragDrop, la souris est accompagnée d'un + ou/et d'un petit carré)
Vous remerciant par avance pour votre aide.
Partager