Je crée une application Windows (WinForms) et je souhaite que mon application appelle une méthode lorsque l'utilisateur appuie sur F5 - cela devrait fonctionner quel que soit l'utilisateur, mais il doit utiliser le programme - Je ne veux pas utiliser des hameçons globaux - des idées?Ajout d'une touche de raccourci F5 en C#
Répondre
Si vous ne disposez que d'un seul formulaire pouvant avoir le focus, vous pouvez définir la propriété KeyPreview
de ce formulaire sur true
et gérer l'événement KeyPress
.
La propriété KeyPreview
entraîne la réception par le formulaire de toutes les touches, quel que soit le contrôle sur le formulaire ayant le focus d'entrée.
la propriété Vérifiez Form.KeyPreview
, il vous permettra de piéger tous les KeyDown
, KeyUp
et KeyPress
événements au niveau de forme avant de leur permettre d'être traitées par des éléments individuels.
Cela ne de travaux dans le cas des applications triviales qui sont une forme unique et l'une des formes les enfants ont toujours le focus. c'est plutôt un hack qui fonctionne la plupart du temps qu'une solution. –
Override ProcessCmdKey de la forme sur votre formulaire principal et chercher F5.
protected override bool ProcessCmdKey (ref Message msg, Keys keyData)
{
bool bHandled = false;
// switch case is the easy way, a hash or map would be better,
// but more work to get set up.
switch (keyData)
{
case Keys.F5:
// do whatever
bHandled = true;
break;
}
return bHandled;
}
Vous pouvez ajouter un cas ** par défaut ** dans le commutateur de sorte que la classe de base regarde la clé au lieu de simplement retourner false: 'default: return base.ProcessCmdKey (ref msg, keyData) " –
- 1. Touche "Windows" dans le cadre d'une touche de raccourci
- 2. Touche AutoHotKey SÉQUENCE, pas seulement une touche de raccourci unique
- 3. touche de raccourci pour lancer une application
- 4. Touche de raccourci pour powertoys Resharper
- 5. Touche de raccourci pour snippet dans Eclipse
- 6. XButton1/2 comme touche de raccourci globale
- 7. Winforms MenuStrip Touche de raccourci soulignée
- 8. Xcode touche de raccourci pour 'onglet'
- 9. Activation de la touche de raccourci WPF sans modificateur
- 10. F5 fonctionne, CTRL + F5 ne ...?
- 11. touche Raccourci pour ouvrir les pages
- 12. comment créer une touche de raccourci pour afficher la fenêtre?
- 13. Vim, comment mapper deux tâches sous une touche de raccourci?
- 14. Affectation d'une touche de raccourci à un bouton dans WPF
- 15. Clé de raccourci de formulaires de fenêtre en utilisant C#
- 16. Touches numériques de capture d'événement de touche de raccourci
- 17. Touche de raccourci pour ouvrir les options de renommer?
- 18. UI Convention: touche de raccourci pour la sortie de l'application?
- 19. Touche de raccourci pour redémarrer le serveur dans Eclipse
- 20. Touche de raccourci pour «Afficher dans le navigateur d'objets»
- 21. Pause lorsque la touche de raccourci est pressée
- 22. Erreur: Impossible d'enregistrer la touche de raccourci à l'aide de C#
- 23. Touche de raccourci (non globale) dans Windows Forms .NET
- 24. Touche de raccourci Eclipse qui enveloppe tout mon code?
- 25. Touche de raccourci pour passer au code aspx dans VS2010
- 26. Touche de raccourci pour sélectionner un mot dans Eclipse
- 27. GetForegroundWindow ne fonctionne pas lorsque le programme C# est exécuté à partir d'une touche de raccourci
- 28. Ajout d'un raccourci au sous-menu BBEdit
- 29. Ajout de matrices en C#?
- 30. comment minimiser la fenêtre pour maximiser la fenêtre en utilisant la touche de raccourci dans l'application fenêtre en utilisant C#?
+1 de remarquer que cela ne fera que travailler pour chaque formulaire que vous définissez cette propriété et non l'application globale –