Shortcut funktioniert nicht

  • VB.NET
  • .NET (FX) 4.5–4.8

Es gibt 6 Antworten in diesem Thema. Der letzte Beitrag () ist von tron25.

    Shortcut funktioniert nicht

    Ich habe einen Menüpunkt, der einen bestimmten Wert hochzählt. Dieser Menüpunkt hat den Shortcut "Strg+Alt+Numpad5".

    Nun möchte ich einen zweiten Menüpunkt, der diesen Wert herunterzählen soll. Diesem Menüpunkt möchte ich gerne den Shortcut "Strg+Alt+Shift*Numpad5" zuweisen.

    Leider funktioniert das nicht. Die drei Steuertasten mit einem Buchstaben funktioniert.

    Hat jemand eine Idee, woran das liegt?
    @tron25 Was wird Dir denn vom Designer angeboten?
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Ich hab mal ein paar Sachen probiert. Wenn man Shortcut Alt+Strg+Shift+Numpad5 auswählt, passiert tatsächlich einfach nix zur Laufzeit. Alt+Strg+Shift+A klappt. Ich glaube, dass das einfach zu viele Kombis sind, da Numpad5 = Numpad4+LButton laut Visual Studio.

    Was aber klappt: Form.KeyPreview = True und dann im Form-KeyDown-EventHandler:

    VB.NET-Quellcode

    1. If (e.KeyCode And Not Keys.ShiftKey And Not Keys.ControlKey And Not Keys.RButton) = Keys.Clear Then MessageBox.Show("gewünschte Kombi gedrückt")

    Ich weiß aber nicht, ob das zuverlässig ist.
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.
    In den Eigenschaften des Menüpunktes kann ich im Punkt "Shortcut" Shift, Strg und Alt auswählen. Aus der Liste kann ich auch ebenfalls "Numpad5" auswählen.
    Wähle ich die 3 genannten Tasten und beispielsweise einen Buchstaben aus, funktioniert es.
    Ich habe auch versucht, im "_KeyDown"-Ereignis des Formulares die 3 Tasten abzufragen. Das funktioniert aber leider auch nicht.
    Wie geschrieben. KeyPreview aktivieren und meine Kombi mal probieren.
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.
    Es sieht aus, asl würde das nicht funktionieren.
    Numpad5 löscht das Shift-Flag,
    Strg+Alt+Shift lassen Numpad5 nicht zu:

    C#-Quellcode

    1. private void MainForm_KeyDown(object sender, KeyEventArgs e)
    2. {
    3. bool ctrl = e.Control;
    4. bool alt = e.Alt;
    5. bool shift = e.Shift;
    6. bool key = e.KeyCode == Keys.NumPad5;
    7. Console.WriteLine($"{ctrl} - {alt} - {shift} - {key}");
    8. }
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!