cs_Fife
Messages postés73Date d'inscriptionlundi 23 octobre 2000StatutMembreDernière intervention16 mars 2008
-
31 août 2002 à 15:00
cs_rene38
Messages postés1858Date d'inscriptionsamedi 29 juin 2002StatutMembreDernière intervention17 octobre 2013
-
31 août 2002 à 17:21
Voilà, j'ai une TextBox, j'écris dedans (rien d'extraordinaire). ;)
Je veux que le texte soit effacé quand l'utilisateur appuie sur la touche Entrée (toujours rien d'extraordinaire).
Si je laisse la propriété MultiLine sur False et que je met le code suivant ça marche mais ça fait "beep".
code :
Private Sub txtChat_KeyPress(KeyAscii As Integer) If KeyAscii vbKeyReturn Then txtChat.Text ""
End Sub
Le beep vient du fait que je suis en mode ligne simple et donc l'utilisateur n'a pas à appuyer sur Entrée.
Comme ça fait beaucoup de beep et que j'ai besoin d'avoir la propriété MultiLine, je met la propriété sur True. J'écris le même code et là, miracle, je n'ai plus le beep. :)
C'est génial sauf que...
Ma TextBox est sensée être vide et en fait il y a un caractère de saut de ligne dedans, donc mon utilisateur écrit sur la deuxième ligne au lieu de la première.
Je m'en sort avec un code un peu bourrin :
Private Sub txtChat_KeyPress(KeyAscii As Integer) If KeyAscii vbKeyReturn Then txtChat.Text "" : SendKeys "{BS}"
End Sub
J'ai la même erreur avec VB.net et C#
Est-ce que quelqu'un a une autre solution que mon SendKeys :question)
cs_rene38
Messages postés1858Date d'inscriptionsamedi 29 juin 2002StatutMembreDernière intervention17 octobre 201311 31 août 2002 à 17:21
Tu laisses MultiLine = True , tu ajoutes
ScrollBars = 1 (horizontal) et tu n'auras plus de CR-LF
If KeyAscii vbKeyReturn Then txtChat.Text ""
te videra complètement la TextBox