ValueChanged event du numericupdown

Résolu
cs_ShayW
Messages postés
3258
Date d'inscription
jeudi 26 novembre 2009
Statut
Membre
Dernière intervention
3 décembre 2019
- 14 févr. 2018 à 19:54
cs_ShayW
Messages postés
3258
Date d'inscription
jeudi 26 novembre 2009
Statut
Membre
Dernière intervention
3 décembre 2019
- 15 févr. 2018 à 19:39
Bonjour,
J'utilise le numericupdown en implémentant 3 évenements
 Private Sub Numericangles_KeyUp(sender As Object, e As System.Windows.Forms.KeyEventArgs) Handles Numericangles.KeyUp
code a
End Sub

Private Sub Numericangles_MouseUp(sender As Object, e As System.Windows.Forms.MouseEventArgs) Handles Numericangles.MouseUp
code a
End Sub

Private Sub Numericangles_ValueChanged(sender As Object, e As System.EventArgs) Handles Numericangles.ValueChanged
code a
End Sub


quand je lance et clique les flèches du numeric le ValueChanged est declenché la pas de problème.
Si je tape une valeur dans le textbox le keyup et déclenché mais ensuite le ValueChanged est declenché aussi
cela cause "code a" est appelé deux fois .
La meme chose avec le mouseup si je fais un copiercoller.
Si il y a une astuce merci d'avance

3 réponses

Whismeril
Messages postés
17329
Date d'inscription
mardi 11 mars 2003
Statut
Modérateur
Dernière intervention
17 mai 2022
596
14 févr. 2018 à 20:14
Bonsoir
Une question bête, si valueChanged est déclenché à chaque fois, pourquoi utiliser les 2 autres?

Sinon, je me permets de te rappeler le lien vers la procédure pour la coloration syntaxique http://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code
Regarde
Private Sub Numericangles_KeyUp(sender As Object, e As System.Windows.Forms.KeyEventArgs) Handles Numericangles.KeyUp
        code a
    End Sub

    Private Sub Numericangles_MouseUp(sender As Object, e As System.Windows.Forms.MouseEventArgs) Handles Numericangles.MouseUp
        code  a
    End Sub

    Private Sub Numericangles_ValueChanged(sender As Object, e As System.EventArgs) Handles Numericangles.ValueChanged
        code a
    End Sub

C’est mieux non?
0
cs_ShayW
Messages postés
3258
Date d'inscription
jeudi 26 novembre 2009
Statut
Membre
Dernière intervention
3 décembre 2019
56
14 févr. 2018 à 21:04
Bonsoir
J'ai testé aussi seulement avec le valueChanged en mettant un point d'arret
Si je tape une valeur rien ne se passe (pour cette raison j'utilise le KeyUp )

j'avais bien utilisé la coloration syntaxique ferai attention la prochaine fois
0
Whismeril
Messages postés
17329
Date d'inscription
mardi 11 mars 2003
Statut
Modérateur
Dernière intervention
17 mai 2022
596
15 févr. 2018 à 07:40
d’accord dans ce cas, je pense que la solution est d’utiliser une variable

Dim dejaFait as Boolean = False

Private Sub Numericangles_KeyUp(sender As Object, e As System.Windows.Forms.KeyEventArgs) Handles Numericangles.KeyUp
        code a
        dejaFait = True
    End Sub

    Private Sub Numericangles_MouseUp(sender As Object, e As System.Windows.Forms.MouseEventArgs) Handles Numericangles.MouseUp
        code  a
        dejaFait = True
    End Sub

    Private Sub Numericangles_ValueChanged(sender As Object, e As System.EventArgs) Handles Numericangles.ValueChanged
        If dejaFait = False Then
             code a
        End if
        dejaFait = false
    End Sub
0
cs_ShayW
Messages postés
3258
Date d'inscription
jeudi 26 novembre 2009
Statut
Membre
Dernière intervention
3 décembre 2019
56
15 févr. 2018 à 19:39
Merci
En suivant pas à pas avec le debugger
je tape un chiffre Numericangles_KeyUp est declenché
si codea est une sub le debugger ne va pas executer codea mais le Numericangles_ValueChanged est declenché et ensuite codea du Numericangles_KeyUp est executé donc il faut placer le dejafait du Numericangles_KeyUp en premiere ligne
0