TextBox : bug ou pas bug ?

cs_Fife Messages postés 73 Date d'inscription lundi 23 octobre 2000 Statut Membre Dernière intervention 16 mars 2008 - 31 août 2002 à 15:00
cs_rene38 Messages postés 1858 Date d'inscription samedi 29 juin 2002 Statut Membre Dernière intervention 17 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)

1 réponse

cs_rene38 Messages postés 1858 Date d'inscription samedi 29 juin 2002 Statut Membre Dernière intervention 17 octobre 2013 11
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
0
Rejoignez-nous