Existe-t-il un cadre pour l'implémentation de raccourcis clavier dans une application Windows .NET2.0? Aussi quelles sont les meilleures pratiques qui devraient être prises en charge tout en faisant cela?Implémentation de raccourcis clavier dans l'application Windows .NET2.0
Répondre
Bien qu'il n'y ait aucun moyen évident de fournir des raccourcis clavier pour les commandes qui ne sont pas dans les menus, il n'est pas très difficile d'ajouter ces touches. Il y a cinq étapes de base:
Définir une énumération d'accélérateur.
private enum Accelerators { Unspecified = 0, Home, Save, Print, Logout };
Créer une table de hachage pour contenir les valeurs énumérées.
Hashtable _accelHash() = new Hashtable();
Créer une classe pour représenter les touches d'accélérateur.
Chargez la table avec l'énumération Keys.
_accelHash.Add(new AcceleratorKey(Keys.Alt|Keys.H),
Accelerators.Home);
_accelHash.Add(new AcceleratorKey(Keys.Alt|Keys.S),
Accelerators.Save);
_accelHash.Add(new AcceleratorKey(Keys.Alt|Keys.P),
Accelerators.Print);
_accelHash.Add(new AcceleratorKey(Keys.Alt|Keys.X),
Accelerators.Logout);
Enfin, substituez ProcessCmdKey et utiliser une instruction switch à être envoyé à la bonne méthode.
protected override bool ProcessCmdKey(ref Message msg,
Keys keyData)
{
...
}
Sinon, pour une approche un peu plus sophistiqué, vous pourriez avoir la carte Hashtable aux délégués qui étaient les méthodes que vous vouliez invoquer, tant qu'ils avaient tous la même signature.
Here's a short article qui décrit les étapes ci-dessus plus en détail.
Une manière courante de mettre en œuvre des touches de raccourci est de les détecter dans un événement clavier tel que KeyDown ou KeyUp.
Exemple
public void Form1_KeyUp(object sender,KeyEventArgs e)
{
if (e.Control && e.KeyData==Keys.A)
{
//handle ctrl+a
}
- 1. Raccourcis clavier dans un XBAP
- 2. Eclipse sur Mac ... en utilisant les raccourcis clavier de Windows?
- 3. Création de raccourcis clavier «globaux» dans WPF
- 4. ICSharpEditor et raccourcis clavier accidentels
- 5. Raccourcis clavier Eclipse dans Mac OSX
- 6. Raccourcis clavier dans la barre d'outils
- 7. L'utilisation de shadowbox désactive les raccourcis clavier?
- 8. Raccourcis clavier multiples pour l'action dans Qt Designer
- 9. Est-il possible de modifier les raccourcis clavier dans eclipse?
- 10. Simulation de raccourcis clavier dans l'événement textbox_keydown à gérer?
- 11. Impossible d'enregistrer plusieurs raccourcis-clavier globaux
- 12. Comment gérer les raccourcis clavier contradictoires
- 13. VMware Workstation remplace les raccourcis clavier VS2008
- 14. Raccourcis Windows sans chemin
- 15. Comment réaffecter des raccourcis Windows en C#?
- 16. Quel est le moyen le plus simple d'ajouter des raccourcis clavier globaux dans Windows?
- 17. Comportement étrange avec les raccourcis clavier dans VC++
- 18. Comment désactiver les raccourcis clavier dans Dojo StackContainer
- 19. Liste des raccourcis clavier de facto standard pour les applications Windows?
- 20. Comment faire pour convertir l'application Windows de .NET2.0 à .NET3.5
- 21. Ajout de raccourcis clavier à une application flexible
- 22. Flex/AIR: absorbe automatiquement les raccourcis clavier non attribués/désactivés
- 23. créer des raccourcis clavier et des macros système large vista
- 24. Implémentation de Google Maps dans le mobile
- 25. raccourcis clavier rompus pour un programme Xwindows distant
- 26. Bluetooth pour Windows CE 5.0 et. NET2.0 avec C#
- 27. Filtrage des données dans GridView dans .net2.0
- 28. Extension et création de modèles de code dans Eclipse lors de l'utilisation des raccourcis clavier emacs
- 29. Désactiver le clavier dans Windows C++?
- 30. Comment puis-je obtenir les raccourcis clavier d'Emacs dans IDLE de Python?