Passage d'un textbox à l'autre en pressant ENTER [Résolu]

Signaler
Messages postés
38
Date d'inscription
mercredi 22 janvier 2003
Statut
Membre
Dernière intervention
8 mars 2006
-
Messages postés
38
Date d'inscription
mercredi 22 janvier 2003
Statut
Membre
Dernière intervention
8 mars 2006
-
Bonjour,



J'ai donc une applic qui gère des clients, dans cette form se trouve
plusieurs textbox. J'aimerais pour la rendre un peu plus "friendly
user" que lorsque l'on presse enter, il passe au textbox suivant (TAB
ne suffit pas).

Pour ce faire je gère donc l'evenement Keypress pour tout les texbox, j'appel qu'une seule fonction. texbox_Keypress (... )

Dans cette fonction je test si c'est bien Enter qui est pressé:

if ((int)e.KeyChar == 13)


{


TextBox t = (TextBox)sender;

TabControl tc = new TabControl();

}

Si c'est le cas, je ne sais pas quoi faire ... J'ai essayé des trucs du
genre TabIndex, SelectIndex ... mais ca ne marche pas !!! QUE FAIRE ???



J'aimerais éviter de faire textBoxX.Focus();



Merci à vous ... Sur ce une bonne nuit ...




Simon.

Pourvu que ca dure ...

6 réponses

Messages postés
6352
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
82
Salut,

Par exemple tu peux associer l'event KeyUp de chaque TextBox à la même méhode (dans le Designer tu selectionnes tout les TB avant de choisir l'event par exemple) et dans celle ci tu peux faire quelque chose de ce genre :


private void textBox2_KeyUp(object sender, System.Windows.Forms.KeyEventArgs e)
{
if ( e.KeyCode == Keys.Enter )
this.SelectNextControl((Control)sender, true, true, false, false);
}

Cocoricoooooooo !!!!
coq
MVP Visual C#
Messages postés
305
Date d'inscription
vendredi 18 juillet 2003
Statut
Membre
Dernière intervention
2 août 2010
1
private void textBox2_KeyUp(object sender, System.Windows.Forms.KeyEventArgs e)
{
if ( e.KeyCode == Keys.Enter )
//dire au programme de faire comme si j'enfonçais la touche tab Keys.Tab

SendKeys.Send("{TAB}");

}




et le tour est joué

Théo
Messages postés
38
Date d'inscription
mercredi 22 janvier 2003
Statut
Membre
Dernière intervention
8 mars 2006

PS: Mes index sont dans l'ordre mais pas les numéro de textbox.



"J'aimerais éviter de faire textBoxX.Focus();" ==> x est le numéro du textBox

Simon.

Pourvu que ca dure ...
Messages postés
38
Date d'inscription
mercredi 22 janvier 2003
Statut
Membre
Dernière intervention
8 mars 2006

Merci de répondre ...

j'ai essayé la méthode SelectNextControl mais ca fonctionne pas, fin
si! mais le prob c'est qu'au lieu de passer au textBox suivant, il
passe sur un bouton.

Simon.

Pourvu que ca dure ...
Messages postés
38
Date d'inscription
mercredi 22 janvier 2003
Statut
Membre
Dernière intervention
8 mars 2006

Donc lorsque je fais enter celà ne fonctionne pas, par contre avec tab
je passe bien dans l'ordre souhaité d'un textbox à l'autre.

Ce que je pourrais faire:



private void textBox_KeyUp(object sender, System.Windows.Forms.KeyEventArgs e)

{

if ( e.KeyCode == Keys.Enter )

//dire au programme de faire comme si j'enfonçais la touche tab Keys.Tab

}


Simon.

Pourvu que ca dure ...
Messages postés
38
Date d'inscription
mercredi 22 janvier 2003
Statut
Membre
Dernière intervention
8 mars 2006

Merci beaucoup ... à tous les deux !!!

Simon.

Pourvu que ca dure ...