Touche entree comme touche tabulation

onodu Messages postés 6 Date d'inscription vendredi 24 octobre 2014 Statut Membre Dernière intervention 8 janvier 2015 - 7 nov. 2014 à 14:44
 filtep - 10 nov. 2014 à 11:30
Bonjour, avec vb.net, comment activer la touche entree comme touche tabulation dans formulaire de saisie textbox. Meci

5 réponses

NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 159
Modifié par NHenry le 7/11/2014 à 16:34
As-tu fais quelques recherche, car l me semble que c'est un sujet qui est souvent remonté ?

If a Dalek is a being of pure hate...what happens when Cadence uses her love spell on one?
En VB.NET pensez à activer "Option Explicit" et "Option Strict"
0
filtep Messages postés 2 Date d'inscription dimanche 9 novembre 2014 Statut Membre Dernière intervention 9 novembre 2014
Modifié par filtep le 9/11/2014 à 20:41
Comme ça:

Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress
If e.KeyChar = Chr(13) Then SendKeys.Send("{TAB}")
End Sub


Philippe
0
NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 159
9 nov. 2014 à 22:29
Evitez cet affreux SendKeys, il y a des méthodes beaucoup plus propres.
0
Un exemple de ce que tu proposes NHenry ?

Au fait pourquoi les SendKeys sont-ils détestés ??
Ils fonctionnent bien et ne posent à ma connaissance pas de problème de fonctionnement du code.
Ce ne serait pas de l'idéologie tout de même ? ;-)

Philippe
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
10 nov. 2014 à 08:56
Bonjour, filtep,
Les se,ndkeys sont en effet à éviter
Ton code, par ailleurs, ne substitue pas la touche Tab à la touche Enter, comme cela doit tout simplement être fait. Tu te retrouves avec les deux !
Les exemples ne manquent pourtant pas sur ce forum (de très nombreuses discussion à ce sujet).
0

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

Posez votre question
bonjour ucfoutu,

"les sendkeys sont en effet à éviter" Ok... mais explique nous pourquoi, surtout avec un TAB (un Enter ou un Y encore on peut se méfier au cas ou le sendkeys enverrait une instruction "critique" à une autre appli sous-jacente, mais un TAB !!!)
Je ne pense pas que onodu cherche à faire autre chose que de valider sa textbox avec Enter et de passer ainsi à la suivante. Je confirme donc que mon code fait le boulot. Cependant et pour les intégristes ;)) on peut proposer ça (après avoir organisé le Tabindex des Textbox dans l'ordre qui te convient):

Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress
If e.KeyChar = Chr(13) Then
tb = TextBox1.TabIndex
Dim c As New Control
For Each c In Me.Controls
If c.TabIndex = tb + 1 Then
c.Focus()
Exit Sub
End If
Next
End If
End Sub


...
Philippe
0
Rejoignez-nous