2009-07-24 6 views
7

Je voudrais être en mesure d'émuler par programme la navigation du clavier pour les boîtes de dialogue.C# Comment onglet par programme entre les contrôles

J'ai un périphérique matériel personnalisé avec un clavier que je voudrais utiliser pour la navigation dans la boîte de dialogue .

Je connais Focus(), mais je ferais mieux de faire quelque chose qui respecte automatiquement l'ordre de tabulation . En émulant la navigation au clavier, je n'ai pas besoin de réinventer un comportement complexe pour chaque type de contrôle .

Est-ce que quelqu'un sait comment faire cela?

Merci!

+0

Merci, ils étaient tous d'excellentes réponses, et si vite aussi. Je suis allé avec la suggestion de Thomas, car cela cadre bien avec mon projet. – NXT

Répondre

3

Vous pouvez utiliser P/Invoke pour appeler la fonction Windows API keybd_event pour simuler l'appui sur la touche de tabulation. Bonus: vous pouvez également utiliser votre appareil pour entrer des onglets dans un éditeur de texte! ;)

9

En Winforms:

Control nextControl = this.GetNextControl(myControl, true); 

Pour simuler une presse à onglet, je crois qu'il est ce qui suit:

SendKeys.Send("{TAB}"); 
Questions connexes