2010-01-06 7 views
6

J'essaye de développer un contrôle de clavier d'écran tactile dans un projet de C# WPF qui sera visible quand un TextBox obtient le foyer et est caché quand le TextBox perd le foyer. Les projets que j'ai vu pour les claviers à écran tactile ont accompli cela en définissant le clavier comme une nouvelle fenêtre plutôt qu'un contrôle.Est-il possible de cliquer sur un bouton sans jamais perdre le focus sur un TextBox?

Pour mon application, j'aimerais vraiment avoir le clavier comme un contrôle dans la fenêtre principale de l'application. Est-il possible de cliquer sur un bouton (sur le contrôle du clavier) sans que le contrôle TextBox ne perde son focus? Idéalement, je voudrais juste placer un personnage à la position actuelle du carat.

Répondre

21

Définissez Focusable="False" sur le bouton. Vous pourrez toujours cliquer dessus avec la souris et il appellera toujours votre gestionnaire d'événement click, mais il n'obtiendra pas de focus et ne perdra pas le focus de la TextBox.

+0

Merci ... J'avais mis à focusable sur false sur le contrôle, mais pas les boutons eux-mêmes. –

+0

il semble assez bonne réponse, mais je ne peux pas voir cette option dans vs2013 pour winform –

1

Une alternative consiste à utiliser un PictureBox à la place d'un bouton, puis vous le personnalisez. Les PictureBox ne perdent pas leur focus lorsqu'ils sont cliqués.

Questions connexes