Sur un formulaire nommé Accueil, j'ai placé un TextBox monoligne nommé tBox et un Label nommé lBox, et j'ai écrit le code
Public Class Accueil
Private Sub tBox_KeyUp(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles tBox.KeyUp
If e.KeyCode 13 Then lBox.Text tBox.Text
End Sub
Private Sub tBox_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles tBox.KeyPress
If Convert.ToUInt32(e.KeyChar) 13 Then e.KeyChar Convert.ToChar(3)
End Sub
End Class
en vue de faire en sorte que, le TextBox étant actif, la frappe sur la touche "Entrée" provoque sans couinement le transfert dans lBox du texte contenu dans tBox. Le code de l'évènement KeyPress, trouvé par tâtonnement, me paraissant relever de la quadrisectomie capillaire longitudinale, je serais reconnaissant à qui me proposerait un code plus simple.
Bonjour, Zermelo,
L'évènement KeyPress me parait plus approprié, puisque travaillant avec le KeyChar
Tu devrais l'essayer, avec bien sûr la propriété Multiline à True, en t'inspirant de l'exemple donné patr MSDN ===>>
Tapez le texte de l'url ici. et en décidant ce que tu veux si Asc(e.KeyChar) = 13
Mais, comme tu le sais, je ne suis pas VB.Nettiste et ne peux donc affirmer que ce sera bon. Essaye quand-même.
________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
e.Handled = True fait que la touche frappée (donc ta touche enter si elle est concernée) est ignorée.
________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
Moi aussi j'avais cru cela. Mais en vb 2010 (je n'ai pas vb 2005), les KeyCode sont ReadOnly. D'ailleurs tous les KeyMachin le sont, sauf le KeyChar. Snif!
Si le TextBox est déclaré multiligne, la frappe de la touche Entrée est prise en compte comme un retour à la ligne. D'autre part, Asc(e.KeyChar) = 13 est obsolète en vb 2010, d'où la conversion par la classe Convert.
Si le TextBox est déclaré multiligne, la frappe de la touche Entrée est prise en compte comme un retour à la ligne
pas si tu l'annules (regarde l'exemple du lien que je t'ai passé)
________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
Bonsoir.
J'ai apporté une petite modification, qui clarifie sans changer le principe
Imports System.Convert
Public Class Accueil
Private Sub tBox_KeyUp(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles tBox.KeyUp
If e.KeyCode 13 Then lBox.Text tBox.Text
End Sub
Private Sub tBox_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles tBox.KeyPress
If ToChar(13) e.KeyChar Then e.KeyChar ToChar(3)
End Sub
End Class
J'ai par ailleurs vérifié que ce code fonctionne que le TextBox soit multiligne ou non. Dans l'écriture e.KeyChar ToChar( x ), j'ai bestialement essayé à partir de x 0.