Comment vérifier si on a appuyé sur 'entrée' dans une TextBox de VB.NET? [Résolu]

Signaler
Messages postés
109
Date d'inscription
mardi 13 avril 2004
Statut
Membre
Dernière intervention
4 juin 2008
-
Messages postés
3757
Date d'inscription
mardi 23 septembre 2003
Statut
Modérateur
Dernière intervention
13 mars 2006
-
je veux lancer du code spécifique en appuyant sur entrée dans une textbox mais sous VB.NET, j'y arrive pas...

sur l'évenement keypress, y a pas de KeyCode comme sous VB6...

HELP

6 réponses

Messages postés
109
Date d'inscription
mardi 13 avril 2004
Statut
Membre
Dernière intervention
4 juin 2008

Merci, c'est cool!!! Ça fonctionne!!!
3
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 123 internautes nous ont dit merci ce mois-ci

Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
70
Salut
Je ne connais pas VB.Net mais je pense que l'évènement KeyPress existe toujours, non ?

Vala
Jack
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage. (Socrate)
Messages postés
109
Date d'inscription
mardi 13 avril 2004
Statut
Membre
Dernière intervention
4 juin 2008

l'évenement KeyPress existe, mais c'est l'argument KeyCode qui n'existe plus... enfin presque...

En fait, il y a e.KeyChar comme argument, mais il lui faut obligatoirement un type 'Char' et non un Integer comme en VB6...

Du coup, je bloque!
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
36
Tu bloque ?



Tout dépend du code que tu met derrière, tu dois pouvoir gérer ça avec
un if e.keychar='char attendu' then je fais ce que j'ai à faire.



Tu peux aussi le gerer avec un select case si tu a plusieurs cas.



Sinon tu peux aller voir du coté des events KeyUp et KeyDown qui eux te donnent acces à e.keycode
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
36
Tiens exemple trouver dans le MSDN qui doit répondre à ton problème



L'exemple
suivant crée un contrôle TextBox. La méthode keypressed utilise la
propriété KeyChar pour vérifier si l'utilisateur a appuyé sur la touche
ENTRÉE. Si c'est le cas, la propriété Handled a la valeur true,
laquelle indique que l'événement est géré.

[Visual Basic]

Imports System

Imports System.Windows.Forms



Public Class Form1

Inherits Form



Public Sub New()

' Create a TextBox control.

Dim tb As New TextBox()

Me.Controls.Add(tb)

AddHandler tb.KeyPress, AddressOf keypressed

End Sub 'New



Sub keypressed(ByVal o As [Object], ByVal e As KeyPressEventArgs)

' The keypressed method uses the KeyChar property to check

' whether the ENTER key is pressed.



' If the ENTER key is pressed, the Handled property is set to true,

' to indicate the event is handled.



If e.KeyChar = Microsoft.VisualBasic.ChrW(13) Then

e.Handled = True

End If

End Sub 'keypressed



Public Shared Sub Main()

Application.Run(New Form1())

End Sub 'Main

End Class 'Form1
Messages postés
3757
Date d'inscription
mardi 23 septembre 2003
Statut
Modérateur
Dernière intervention
13 mars 2006
15
Salut,

D'abord, en VB6, sur l'évènement KeyPress c'était pas Keycode mais KeyAscii l'argument.

En VB7 (VB.NET) il faut utiliser, pour détecter un appui sur la touche entrée :

If Asc(e.KeyChar) = 13 then ....

pour info, en VB6, c'était :

if keyascii = 13 then ...

La différence c'est qu'en VB6, tu avais le code ascii en direct et qu'avec VB7, tu dois convertir.

Cordialement, CanisLupus