Lorsque j'appuie sur F10 dans mon programme, la mise au point est perdue dans ma fenêtre principale du programme et se déplace dans la barre de menus. Il s'avère que cet étrange comportement est commun sur de nombreuses applications Windows. P>
Je pense que c'est moche parce que la touche Alt fait la même chose et nous perdons une clé de fonction précieuse. Pourquoi Windows fait-il cela et comment puis-je résoudre le cas pour mon application C #? P>
3 Réponses :
Utilisez l'événement de clé pour votre formulaire et gérez la touche de frappe:
private void form_KeyDown(object sender, KeyEventArgs e) { if(e.KeyData == Keys.F10) { // Do what you want with the F10 key e.SuppressKeyPress = true; } }
@ Goibe, en réalité, Dan (l'OP) a fait les corrections. Comme il n'a pas de privilèges d'édition, je viens d'aider ses changements à bâtir.
Aucun problème - je suis juste reconnaissant pour la réponse! :)
Cela pourrait résoudre pour vous p>
http: //Geekswithblogs.net/aghausman/archive/2009/04/26/disable-Special-keys-in-win-app-c.aspx P>
Cette approche est pour un cas plus compliqué dans lequel vous souhaitez remplacer les raccourcis clavier "système", par exemple. Touche Windows + D.
J'ai utilisé ci-dessous Trick: Ce code soulage le formulaire de la touche F10. p> p>
FYI, ce comportement pour le raccourci F10 existe depuis au moins Windows XP: support.microsoft.com/kb / 301583
Faites attention à la modification du comportement «laid» que vos utilisateurs s'attendent à vous attendre.