2009-09-17 8 views
0

je veux mettre l'accent d'un textbox1 à un autre TextBox2 alors que je suis en appuyant sur Entrée clé dans textbox1 dans Windows C# application (C# 2005)Set focus à un autre contrôle

Répondre

0

gérer l'événement KeyPress ou KeyDown de textbox1 puis appelez textbox2.Focus().

0

Tout d'abord, vous devrez définir la propriété KeyPreview du formulaire mis à vrai. Ensuite, vous devrez remplacer la méthode OnKeyDown de la forme et faire un cas comme:

if(e.KeyCode == Keys.Enter) 
{ 
     Control ctlNext = this.GetNextControl(this.ActiveControl, true); 
     ctlNext.Focus(); 
} 
else 
{ 
     base.OnKeyDown(e); 
} 

Rappelez-vous que ce code fonctionnera pour chaque contrôle sur le formulaire, et déplacer le focus à la suivante. Si vous voulez juste que ce code fonctionne pour les zones de texte, vous pouvez ajouter un chèque comme:

if(this.ActiveControl is TextBox) 
{ 
... 
} 
+1

Souvenez-vous de définir e.SuppressKeyPress = true là quelque part aussi, ou Enter keypress vous Stil inscrire à d'autres contrôles (par exemple sous forme de AcceptButton). –

Questions connexes