2010-09-28 7 views
1

J'ai cinq zones de texte dans une grille.Comment modifier le focus d'une zone de texte vers une autre zone de texte avec du code dans WPF - C#

<TextBox Name="A1" MaxLength="1" ></TextBox> 
<TextBox Name="A2" MaxLength="1" ></TextBox> 
<TextBox Name="A3" MaxLength="1" ></TextBox> 
<TextBox Name="A4" MaxLength="1" ></TextBox> 
<TextBox Name="A5" MaxLength="1" ></TextBox> 

curseur Dans un premier temps se concentrera à A1 en utilisant la commande A1.Focus(). Dès qu'un personnage est entré dans A1, je veux que l'accent soit changé en A2 puis A3 etc. [Je peux entrer un mot de 5 lettres dans ces zones de texte sans appuyer sur Tab ou Entrée]

Comment cela se fait dans WPF C# Code.

Répondre

1

Vous pouvez utiliser l'événement KeyDonw et si la touche est une lettre, vous pouvez changer la mise au point.

<TextBox KeyDown="On_Key_Down"/> 

... 

On_Key_Down(object Sender, KeyEventArgs E) 
{ 
    A2.Focus(); 
} 
+0

+1 'On_Key_Down (expéditeur d'objet, KeyEventArgs e) {if (e.Key! = Key.Backspace) A2.Focus(); } ' –

Questions connexes