[C#]Problème avec l'évenement ItemDrag d'une TreeView

Résolu
byphantom Messages postés 21 Date d'inscription vendredi 24 juin 2005 Statut Membre Dernière intervention 8 novembre 2006 - 9 août 2006 à 09:50
byphantom Messages postés 21 Date d'inscription vendredi 24 juin 2005 Statut Membre Dernière intervention 8 novembre 2006 - 9 août 2006 à 10:36
Je fais du Drag&Drop dans ma TreeView, et j'utilise l'évement
ItemDrag donc. Le problème est que quand je fais un clic droit sur ma
TreeView pour afficher mon menu contextuel, et qu'ensuite je fais un
clic gauche sur l'un des éléments (du menu contextuel), l'évenement
ItemDrag est déclenché et le Drag&Drop est effectué ce qui est
vraiment gênant. Est ce que vous avez une idée d'où ça peut venir?


Merci de votre aide!

4 réponses

Bubuss Messages postés 147 Date d'inscription samedi 7 juin 2003 Statut Membre Dernière intervention 8 décembre 2007
9 août 2006 à 10:06
Je ne suis pas un pro mais as tu pensé à créer une variable booléènne pour y mettre l'état de ton menu contextuel (ouvert / fermé) et d'encapsuler ton code dans l'ItemDrag dans un if(!monMenuOuvert) ?

Sinon je penses que l'evenement doit se déclencher car tu es toujours dans la zone du TreeView lorsque tu clic sur ton menu contextuel...
3
Bubuss Messages postés 147 Date d'inscription samedi 7 juin 2003 Statut Membre Dernière intervention 8 décembre 2007
9 août 2006 à 10:32
Oui c'est étrange, il doit y avoir une raison très logique à ceci mais comme je n'ai jamais utiliser cet evenement je ne peut pas t'aider d'avantage à comprendre ce problème...

As tu vérifié si ton élément était bien en Selected lorsque le menu est ouvert ? Si ça se trouve l'evenement de selection et interrompu par l'ouverture du menu contextuel et il croi alors que tu es en train de le bouger...
3
byphantom Messages postés 21 Date d'inscription vendredi 24 juin 2005 Statut Membre Dernière intervention 8 novembre 2006
9 août 2006 à 10:16
Merci pour ta réponse rapide
C'est vrai que j'ai pas pensé à ça, je cherchais plutôt à comprendre l'origine du bug que de le résoudre, merci je vais le résoudre temporairement avec ton idée.
En fait quand je fais un clic droit sur le menu contextuel, je suis toujours dans la zone de la TreeView. Mais normalement, le Drag Drop ne se déclenchera que si j'essaye de bouger un noeud de l'arbre, si je le selectionne j'effectue un autre traitement.
0
byphantom Messages postés 21 Date d'inscription vendredi 24 juin 2005 Statut Membre Dernière intervention 8 novembre 2006
9 août 2006 à 10:36
J'ai pas tout compris mais je crois que c'est ça. quand je fais un clic je selectionne d'abord le noeud puis je regarde si c un clic droit ou gauche. En tout cas ta solution d'utiliser une variable booleenne marche parfaitement. merci
0
Rejoignez-nous