Bloquer ou permettre un event

cs_ShayW Messages postés 3253 Date d'inscription jeudi 26 novembre 2009 Statut Membre Dernière intervention 3 décembre 2019 - 1 janv. 2013 à 20:08
 Utilisateur anonyme - 1 janv. 2013 à 21:57
Bonjour et meilleurs voeux

est il possible de ne pas permettre un evenement

ex j'ai une liste de picturebox
avec 4 evenements
AddHandler pic.MouseDown, AddressOf picmousedown
AddHandler pic.MouseMove, AddressOf picmousemove
AddHandler pic.MouseUp, AddressOf picmouseup AddHandler pic.MouseClick, AddressOf picmouseclick


et je voudrais empecher le mouseclick
si x < 10 empecher autrement permettre

private sub Check()
 if x < 10 then 
  
 else

end if 
end sub 


Merci

4 réponses

Utilisateur anonyme
1 janv. 2013 à 21:05
Bonjour,

Je ne pense pas que l'on puisse empêcher le déclenchement d'un événement mais on peut l'empêcher de faire du mal.

Personnellement j'utiliserais une patente de ce genre. (j'utilise my.settings parce que cela évite de se retrouver avec une variable globale modifiée à la mauvaise place.)

Sans avoir testé.

my.settings.donnee = 7
sub mouse_clik etc,
if my.settings.donnee < 10
exit sub
else
onfaitletraitementprevu()
end if
end sub

Tu pourrais même tester le "sender" au besoin ou ajouter des garde-fous au cas où la souris serait cliquée à la mauvaise place ou au mauvais moment.
0
Utilisateur anonyme
1 janv. 2013 à 21:08
Bonjour,

oupss! J'ai pesé trop vite sur envoyer. Désolé pour l'indentation.
0
cs_ShayW Messages postés 3253 Date d'inscription jeudi 26 novembre 2009 Statut Membre Dernière intervention 3 décembre 2019 57
1 janv. 2013 à 21:35
Bonjour

enfin je pense aussi
la solution simple de mettre un boolean dans
dans le code de l'évenement

private flagok as boolean 
private sub Check()
 if x < 10 then 
  flagok = false
 else
   flagok = true
end if 
end sub 
Private Sub picmouseclick(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs)
   if not flagok then
      exit sub
   end if 
 End Sub
0
Utilisateur anonyme
1 janv. 2013 à 21:57
Bonjour ShayW et bonne année

Tu peux aussi retirer l'abonnement à l'événement avec RemoveHandler temporairement.
0
Rejoignez-nous