thorgal1612
Messages postés117Date d'inscriptiondimanche 14 novembre 2004StatutMembreDernière intervention19 janvier 2008
-
8 juin 2006 à 14:41
MorpionMx
Messages postés3466Date d'inscriptionlundi 16 octobre 2000StatutMembreDernière intervention30 octobre 2008
-
9 juin 2006 à 13:40
Salut à tous,
j'ai encore besoin de votre aide
Je voudrais faire un truc tout simple (enfin il me semble) mais je ne sais pas comment : je voudrais appeler un fonction lorsque je sors d'une textbox (ou richtextbox) uniquement si la valeur a été modifiée ?
J'ai essayé l'évènement Validated mais il est déclenché mais si je ne modifie pas le text
J'ai essayé l'évènement TextChanged mais il est déclenché dès que je modifie la valeur et non pas une fois que je l'ai modifié
woot6768
Messages postés393Date d'inscriptionmercredi 8 mars 2006StatutMembreDernière intervention23 mars 2007 8 juin 2006 à 15:08
Essaye de mettre un bouton pour valider ton text, puis intercepte cet évènement. Pour ensuite appelé la fonction.
Mais je ne pense pas que ce soit la meilleure solution;)
_________________________________________________________________________
Woot Alias Wouter Tjon.
thorgal1612
Messages postés117Date d'inscriptiondimanche 14 novembre 2004StatutMembreDernière intervention19 janvier 2008 8 juin 2006 à 15:24
Merci d'avoir répondu aussi vite mais cette solution ne convient pas avec ce que veux faire.
En fait, cette textbox correspond à un code postal et je veux afficher le libellé une fois que l'utilisateur à saisi le texte, l'obliger à un cliquer sur un bouton, c'est pas le terrible.
Merci quand même
Vous n’avez pas trouvé la réponse que vous recherchez ?
woot6768
Messages postés393Date d'inscriptionmercredi 8 mars 2006StatutMembreDernière intervention23 mars 2007 8 juin 2006 à 15:38
Effectivement, en faite il faudrait trouver une propriété qui te dise que tu à quitter to, textBox, c'est ça?
Et donc rajouter :
if(textChanged==false)
break;
else
taFonction();
Si c'est ça dit le moi, je suis en train de chercher une solution.
_________________________________________________________________________
Woot Alias Wouter Tjon.
MorpionMx
Messages postés3466Date d'inscriptionlundi 16 octobre 2000StatutMembreDernière intervention30 octobre 200857 8 juin 2006 à 15:40
A la limite, tu peux utiliser une variable booleene que tu mets a true dans ton TextChanged, et lors de l'evenement Validated, tu regardes si cette variable est a true ou non
thorgal1612
Messages postés117Date d'inscriptiondimanche 14 novembre 2004StatutMembreDernière intervention19 janvier 2008 8 juin 2006 à 16:11
woot, tu mets if(textChanged==false), textChanged est une propriété d'une textbox qui indique si le text a été modifié ?
Parce qu'il existe un événement Leave qui permet de savoir si je quitte la textbox, du coup il faudrait mettre ton code dans cet événement.
Ca devrait fonctionner ?
woot6768
Messages postés393Date d'inscriptionmercredi 8 mars 2006StatutMembreDernière intervention23 mars 2007 8 juin 2006 à 16:19
Où alors, mais ça c'est un peu long comme solution, tu fait un Timer, tu lis ce qu'il y a dans ta textBox tout les x temps, puis lorsque le text de ton textBox est égale au libellé, tu appel ta fonction.
_________________________________________________________________________
Woot Alias Wouter Tjon.
MorpionMx
Messages postés3466Date d'inscriptionlundi 16 octobre 2000StatutMembreDernière intervention30 octobre 200857 8 juin 2006 à 16:29
>Où alors, mais ça c'est un peu long comme solution, tu fait un Timer, tu lis ce qu'il y a dans ta textBox tout les x >temps, puis lorsque le text de ton textBox est égale au libellé, tu appel ta fonction.
Euh... .
Entre ca et la solution de la variable booleene :
Quelle est la solution la plus facile a mettre en oeuvre ? La moins farfelue ? Et niveau perf ?
Un peu de bon sens ... On est la pour aider, pas pour dérouter les gens.
woot6768
Messages postés393Date d'inscriptionmercredi 8 mars 2006StatutMembreDernière intervention23 mars 2007 8 juin 2006 à 16:35
Je suis d'accord avec toi, c'est vachemment lourd.
Mais il voulais appelé ca fonction seulement lorsque l'opérateur a fini d'écrire son texte.
Ce qui n'est pas le cas quand tu utilise ta solution;)
_________________________________________________________________________
Woot Alias Wouter Tjon.
MorpionMx
Messages postés3466Date d'inscriptionlundi 16 octobre 2000StatutMembreDernière intervention30 octobre 200857 8 juin 2006 à 16:43
Il suffit que dans la méthode associée a l'evenement TextChanged il se désinscrive de cet evenement pour que cette fonction ne soit appelée qu'une seule fois.
Et il se reinscrit a l'evenement lors du Validated.
Mx
MVP C#
thorgal1612
Messages postés117Date d'inscriptiondimanche 14 novembre 2004StatutMembreDernière intervention19 janvier 2008 8 juin 2006 à 16:59
Je vais essayer la solution du booléen et me désinscrire de l'évènement mais ça me semble vraiment étrange qu'il n'y est pas une propriété qui indique si le text a été modifié.
Je peux pas essayer tout de suite je suis au boulot j'essayes ce soir.
Mais s'il existe une autre solution, je suis preneur
thorgal1612
Messages postés117Date d'inscriptiondimanche 14 novembre 2004StatutMembreDernière intervention19 janvier 2008 8 juin 2006 à 17:36
J'ai une autre idée mais je ne sais pas si c'est possible.
Est ce que l'on peut tester si un évènement a été déclenché ? Si oui, dans le validated je teste si l'évènement textChanged a été déclenché et dans cas j'appelle ma fonction
thorgal1612
Messages postés117Date d'inscriptiondimanche 14 novembre 2004StatutMembreDernière intervention19 janvier 2008 8 juin 2006 à 18:41
tout d'abord Nikoui, on commence par "bonjour". Ca fait plus d'1h qu'on échange sur le sujet et tu crois que j'ai pas compris ce que voulait MorpionMx.
Ce que je voulais faire c'était tester l'évènement directement, genre
if (textChanged != null) Appelle de la fonction