Gibt es ein Framework zum Implementieren von Tastenkombinationen in einer .NET2.0-Windows-Anwendung? Welche Best Practices sollten dabei beachtet werden?Implementieren von Tastenkombinationen in der .NET2.0-Windows-Anwendung
Antwort
Obwohl es keine offensichtliche Möglichkeit gibt, Tastenkombinationen für Befehle bereitzustellen, die nicht in Menüs enthalten sind, ist es nicht schwer, diese hinzuzufügen. Es gibt fünf grundlegende Schritte:
Definieren Sie eine Beschleunigeraufzählung.
private enum Accelerators { Unspecified = 0, Home, Save, Print, Logout };
eine Hash-Tabelle erstellen die aufgezählten Werte enthalten. Erstellen
Hashtable _accelHash() = new Hashtable();
eine Klasse Zugriffstasten zu repräsentieren.
Laden Sie die Tabelle mit der Schlüsselnumerierung.
_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);
Schließlich überschreiben ProcessCmdKey und einen Switch-Anweisung verwenden, um die richtige Methode zu versenden.
protected override bool ProcessCmdKey(ref Message msg,
Keys keyData)
{
...
}
Alternativ für einen etwas anspruchsvolleren Ansatz, könnten Sie die Hash-Tabelle Karte an die Delegierten haben, die die Methoden waren Sie, solange sie alle hatten die gleiche Methode Unterschrift aufrufen wollte.
Here's a short article, die die oben genannten Schritte detaillierter beschreibt.
Eine gängige Methode zum Implementieren von Tastenkombinationen besteht darin, sie in einem Tastaturereignis wie KeyDown oder KeyUp zu erkennen.
Beispiel
public void Form1_KeyUp(object sender,KeyEventArgs e)
{
if (e.Control && e.KeyData==Keys.A)
{
//handle ctrl+a
}
- 1. Implementieren Sie Tastenkombinationen in einem Skript
- 2. Verwenden von Tastenkombinationen in C#
- 3. Verarbeiten von Tastenkombinationen mit Javascripts
- 4. Wie Tastenkombinationen vollständig von JavaScript
- 5. Einstellung Tastenkombinationen in Textmate
- 6. Blockieren von Tastenkombinationen mit C#
- 7. EventListener für Tastenkombinationen in AS3?
- 8. Tastenkombinationen in Linux (Ubuntu) deaktivieren
- 9. Tastenkombinationen in Sublime-Text überladen
- 10. Capture-Tastenkombinationen und weiterleiten
- 11. Tastenkombinationen für Menü
- 12. Erfassen mehrerer Tastenkombinationen in C#
- 13. Tastenkombinationen des Browsers überschreiben
- 14. Mehrere tmux-Präfix-Tastenkombinationen?
- 15. SWT erkennt Tastenkombinationen falsch
- 16. Tkinter: Problem mit dem Erstellen von Tastenkombinationen
- 17. Best Practices zum Entwerfen von Tastenkombinationen
- 18. VB.net Tastenkombinationen funktionieren nicht
- 19. hinzufügen Tastenkombinationen zu GIo.Menu
- 20. Tastaturbefehle implementieren
- 21. Erstellen von Tastenkombinationen für Ihre HTML5-App?
- 22. Zuweisen von Tastenkombinationen zu Tasten - Qt C++
- 23. Disable ubuntu Tastenkombinationen
- 24. Zuweisen nicht gelisteter Tastenkombinationen/Tastenanbindung
- 25. Simulieren Sie mehrere Tastenkombinationen in Javascript
- 26. HTML-Tastenkombinationen in Sublime Text 2?
- 27. Makro-Funktionalität mit Tastenkombinationen in Eclipse?
- 28. Wie abfangen Musiksteuerung Tastenkombinationen in Java?
- 29. Tastenkombinationen für die Anwendungsebene in WPF
- 30. Mehrere Tastenkombinationen für Aktionen in Qt Designer