SLUM
-
13 juil. 2001 à 01:13
Myrddin772Li199
Messages postés28Date d'inscriptionmercredi 28 décembre 2005StatutMembreDernière intervention14 mars 2010
-
14 avril 2008 à 16:15
Je voudrais valider ma textbox en appuyant sur ENTRER dans la textbox, sans bouton... Est-ce possible ?
Quand tu double cliques sur ton text box, il te génère l'évènement par défaut Textbox1_Change
Dans le combo où c'est écrit change, sélectionne KeyDown.
Je pense que KeyPress ferait mieux l'affaire dans ce cas-ci.
KeyPress est généré moins souvent que KeyDown, ce qui peut influencer sur la vitesse d'exécution du programme
ex.:
(code tapé par moi, pas généré par vb, peut avoir des erreurs)
Private Sub Textbox1_KeyPress(KeyAscii as Integer)
If KeyAscii = 13 Then
'la validation
'Fait changer de focus en appuyant sur Enter
SendKeys "{Tab}"
' je suis pas certain si sendkeys est bien écrit.
KeyAscii = 0 'Empèche de faire "bip"
End If
End Sub
Tu peux aussi laissé le code ci-haut telquel et placer la validation dans l'évènement LostFocus OU Validate.
Validate est mieux, il va empècher le LostFocus si on retourne Cancel = True
limaseb
Messages postés38Date d'inscriptionmercredi 2 février 2005StatutMembreDernière intervention18 décembre 2007 2 févr. 2005 à 22:10
Bjrs a tous j ai essayer vos code mais sans succes en plus je voudrais du faite de valider par ENTER de passer sur une autrre textbox. Car voudrais passer de textbox a textbox par bien de la touche ENTER merci d avance si on pouvais m aider. [mailto:limaseb@tiscali.fr limaseb@tiscali.fr]
Vous n’avez pas trouvé la réponse que vous recherchez ?
Myrddin772Li199
Messages postés28Date d'inscriptionmercredi 28 décembre 2005StatutMembreDernière intervention14 mars 2010 9 avril 2008 à 15:22
Bonjour à tous !
J'ai un problème similaire :
J'utilise une TextBox multiligne dont je voudrais valider le contenu en appuyant sur [Ctrl]+[Return] ou en appyant sur un bouton...
J'essaie d'utiliser l'événement KeyDown
Private sub txtBox_KeyDown(KeyCode as Integer, Shift as Integer)
if KeyCode=vbKeyReturn and Shift=2 then
cmdValidate.Value = True
end if
end sub
Jusque là tout va bien, le problème survient ensuite... ma Textbox est bien validée mais le text (qui est censé être effacé) devient alors un saut de ligne, bref il contient le saut de ligne qui aurait existé sans cette validation.
Comment faire pour "annuler" ce saut de ligne ?
Myrddin772Li199
Messages postés28Date d'inscriptionmercredi 28 décembre 2005StatutMembreDernière intervention14 mars 2010 14 avril 2008 à 16:15
Bon, j'ai finalemùent opté pour l'événement KeyPress avec ceci :
Private sub txtBox_KeyPress(KeyAscii as Integer)
if KeyAscii=10 then
KeyAscii=0
cmdValidate.Value = True
end if
end sub
Par contre je ne comprends pas pourquoi le KeyAscii vaut 10 quand j'appuie simultanément sur [Return] et sur [Ctrl]...