Je fais une application Windows (WinForms) et je voudrais que mon application appelle une méthode lorsque l'utilisateur appuie sur F5 - cela devrait fonctionner, quel que soit l'utilisateur, mais ils doivent utiliser le programme - je ne sais pas Voulez-vous utiliser des crochets globaux - des idées? P>
3 Réponses :
Si vous n'avez qu'une seule forme qui peut avoir la mise au point, vous pouvez définir le Le keyPreview code>
propriété de ce formulaire à true code> et gérer le
keypress code>
événement. P>
KeyPreview Le code>
La propriété provoquera la réception de toutes les appuie sur la touche, quelle que soit la commande sur le formulaire a la mise au point d'entrée. P>
+1 pour souligner que cela ne fonctionnera que pour chaque formulaire que vous définissez cette propriété et non de l'application globale
Consultez la propriété form.KeyPreview CODE>, il vous permettra de piéger toutes les touches code> code>,
Keyup code> et
keypress code > Événements au niveau du formulaire avant de leur permettre d'être traités par des éléments individuels. P>
Cela ne fonctionne que dans le cas des applications triviales qui constituent une forme unique et l'une des formes des enfants a toujours lieu. Cela ressemble plus à un piratage qui fonctionne la plupart du temps qu'une solution.
remplacer le formulaire processcmdkey sur votre forme principale et recherchez F5.
Vous voudrez peut-être ajouter un boîtier par défaut B> dans l'interrupteur de sorte que la classe de base examine la clé au lieu de simplement retourner false: `défaut: retour de la base.Processcmdkey (ref. Msg, keydata) ; `