2010-02-11 4 views
4

Je veux toujours Focus sur un TextBox spécifique sur mon application WPF chaque fois que je clique sur quelque chose sur l'application, il faut toujours se concentrer sur le TextBox. Est-ce possible et comment conseiller et aider s'il vous plaît. Merci!!!WPF toujours mettre l'accent sur une zone de texte

Répondre

1

Il existe un gestionnaire d'événements MouseLeftMouseButton. Lorsque le gestionnaire d'événements a été déclenché, utilisez textbox.Focus() dans le gestionnaire.

+1

Cela ne fonctionnerait que si la mise au point est perdu à l'aide de la souris. Mais que faire si quelqu'un appuie sur la touche Tab ...? –

3

Ajoutez à l'événement TextBox.OnLostFocus un gestionnaire qui définit le focus sur TextBox.

+0

cela devrait être la réponse acceptée – Filip

1

Si j'ai raison, votre intention est d'obtenir les commandes du clavier et d'afficher le caractère enfoncé dans votre zone de texte même si la mise au point est sur d'autres contrôles.

Si c'est le cas, vous pouvez router les commandes du clavier vers le contrôle racine (contrôle au niveau supérieur ... par exemple: fenêtre), les analyser et les afficher dans la zone de texte. Je vais essayer de donner des exemples si cela peut aider.

EDIT:

private void Window_KeyDown(object sender, System.Windows.Input.KeyEventArgs e) 
{ 
    if (Keyboard.Modifiers != ModifierKeys.Shift) 
    { 
    if (e.Key > Key.A && e.Key < Key.Z) 
    { 
     textBox1.Text += e.Key.ToString().ToLower(); 
    } 
    } 
    else 
    { 
    if (e.Key > Key.A && e.Key < Key.Z) 
    { 
     textBox1.Text += e.Key.ToString(); 
    } 
    }    
    e.Handled = true; 
} 
+0

Oui c'est correct pouvez-vous s'il vous plaît donner un exemple comment remercier! – Tan

+0

Hey Tan, vérifiez ma modification. Maintenant, il est entre vos mains d'analyser les clés autres que les alphabets :) – Amsakanna

Questions connexes