ValueChanged event du numericupdown

Résolu
cs_ShayW Messages postés 3253 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 3253 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 19020 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 15 avril 2024 656
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 3253 Date d'inscription jeudi 26 novembre 2009 Statut Membre Dernière intervention 3 décembre 2019 57
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 19020 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 15 avril 2024 656
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 3253 Date d'inscription jeudi 26 novembre 2009 Statut Membre Dernière intervention 3 décembre 2019 57
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
Rejoignez-nous