Warum werden Button Shortcuts nicht angezeigt zur Laufzeit?

  • VB.NET

Es gibt 10 Antworten in diesem Thema. Der letzte Beitrag () ist von VaporiZed.

    Warum werden Button Shortcuts nicht angezeigt zur Laufzeit?

    Hallo.

    Eine Frage ich habe wie bisher gewohnt meine Buttons folgenden Text zugewiesen:

    &Berechnen
    &Schließen

    um Shortcuts zuzuweisen.

    Im Designer werden auch wie gewohnt die Buchstaben B und S unterstrichen angezeigt.
    Zur Laufzeit allerdings erst wenn ich einen der Buttons gedrückt hatte
    ich bin mir nicht ganz sicher, aber evtl. ist das eine Eigenschaft von Windows.
    Bill Gates fand es wohl iwann mal zu einfach, dass die Accessorbuchstaben hervorgehoben sind, und meinte in seiner unendlichen Güte, man müsse das verbergen.
    Aber iwo in den Tiefen der Systemsteuerung kann man den urtümlichen Windows-Stil noch aktivieren, und dann sind die Accessoren auch wieder sichtbar.
    @Fragglechen
    Die Shortcuts sind so im Designer nicht zuweisbar, wohl aber zur Laufzeit:

    VB.NET-Quellcode

    1. Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
    2. MessageBox.Show("Button1")
    3. End Sub
    4. Private Sub Button2_Click(sender As System.Object, e As System.EventArgs) Handles Button2.Click
    5. Button1.Text = "&Button1"
    6. End Sub

    @Artentus Jou, nach Drücken von Alt werden sie angezeigt.
    Bilder
    • Shortcut.png

      15,55 kB, 331×348, 297 mal angesehen
    • Shortcut2.png

      4,42 kB, 300×114, 157 mal angesehen
    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!
    @RodFromGermany
    Das ist so nicht ganz richtig. Der Escape-Character zur Auswahl des HotKeys hat im Namen des Controls nichts zu suchen. In der Property TEXT wird er jedoch erkannt:

    VB.NET-Quellcode

    1. With Button1
    2. .Text="Bitte &hier klicken ..."
    3. End With

    Artentus schrieb:

    Werden die nicht gehighlighted, wenn man Alt drückt? Beim MenuStrip ist das zumindest so.

    Genauso isses, dann werden auch die Hotleys z.B. in den Buttons oder Labels angezeigt.
    Interessanterweise verschwindet die Markierung bei loslassen des ALT-Keys im Menustrip, nicht jedoch bei Buttons und Labels ...
    Ist das nun Bug oder Feature??

    us4711 schrieb:

    Das ist so nicht ganz richtig.
    Korrekt, da hab ich mich in der Property geirrt. :love:
    @Fragglechen Jou, im Designer klappt das ebenfalls.
    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!
    @oobdoo Nein.
    Die Tasten werden ja so lange angezeigt, so lange Alt gedrückt ist. Und das geht so nicht.
    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!
    @oobdoo: Es gäbe für das Problem 2 Möglichkeiten:
    1. siehe hier
    2. im Form_Shown-EventHandler: SendKeys.Send("%"). Aber ich sag Dir gleich: Tu. Das. Nicht. Nur weil es möglich ist, sollte man es nicht machen. SendKeys kann ganz schräge Nebenwirkungen haben. Und bevor die Frage kommt: "Warum erzählst Du es dann?": Jeder ist für seinen Code selbst verantwortlich.
    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.

    RodFromGermany schrieb:


    Die Tasten werden ja so lange angezeigt, so lange Alt gedrückt ist. Und das geht so nicht.

    Bei mir schon.

    VaporiZed schrieb:


    Und bevor die Frage kommt: "Warum erzählst Du es dann?": Jeder ist für seinen Code selbst verantwortlich.

    Keine Sorge as werde ich nicht fragen. ;)

    Ich hatte nur auf eine einfache Lösung gehofft.

    Als weitere Möglichkeit wäre ein Selbstzeichnen im Button über den Paint-Event in meinem Kopf. Aber das verschiebe ich auf später, weil so ein Nebenschauplatz nur das aktuelle Projekt ausbremsen wird.
    Aktuelles Projekt: Z80 Disassembler für Schneider/Amstrad CPC :love:
    Unterstrich selber zeichnen??? Dann lieber in den Windows-Optionen die in Post#9 (s. dort: Lösung 1) genannte Einstellung einschalten. Aber hey: As U wish.
    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.