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

Résolu
Chris_LaFouine Messages postés 109 Date d'inscription mardi 13 avril 2004 Statut Membre Dernière intervention 4 juin 2008 - 15 janv. 2005 à 19:47
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 - 15 janv. 2005 à 21:02
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

Chris_LaFouine Messages postés 109 Date d'inscription mardi 13 avril 2004 Statut Membre Dernière intervention 4 juin 2008
15 janv. 2005 à 20:52
Merci, c'est cool!!! Ça fonctionne!!!
3
cs_Jack Messages postés 14007 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 78
15 janv. 2005 à 20:12
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)
0
Chris_LaFouine Messages postés 109 Date d'inscription mardi 13 avril 2004 Statut Membre Dernière intervention 4 juin 2008
15 janv. 2005 à 20:31
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!
0
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 41
15 janv. 2005 à 20:48
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 41
15 janv. 2005 à 20:56
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
0
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 18
15 janv. 2005 à 21:02
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
0