TextBox : bug ou pas bug ?

Signaler
Messages postés
73
Date d'inscription
lundi 23 octobre 2000
Statut
Membre
Dernière intervention
16 mars 2008
-
Messages postés
1858
Date d'inscription
samedi 29 juin 2002
Statut
Membre
Dernière intervention
17 octobre 2013
-
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

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