Toolstripmenuitem - Abfrage ob per Shortcut ausgeführt

  • VB.NET

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

    Toolstripmenuitem - Abfrage ob per Shortcut ausgeführt

    Hi,

    ich hab nen Contextmenü eingebaut. Wenn ich nun im Designer einem ToolstripMenuItem einen Shortcut zuweise. Wie kann ich abfragen, ob das Item per Mausklick oder per Shortcut aufgerufen wurde?
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    ... Nun solltest es selber wissen. :'D
    Welchen Sinn hat es, über diese Kenntnis zu verfügen?
    Du müsstest z.B. mit GetAsyncKeyState() abfragen, ob die Taste oder die linke Maustaste (noch) gedrückt ist.
    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!
    Nen ganz simplen. Ich hab nen Datagrid und an dem hängt nen Menü.
    In diesem ist u.a. ne "Filter" Funktion.
    Wenn ich diese über das Contextmenü ausführe, merke ich mir zum Zeitpunkt des Rechtsklick die Cursor-Position und ermittel anhand dieser die Spalte auf die der Filter angewendet wird.
    Mit dem Shortcut Strg + F möchte ich aber, dass er nicht die Mausposition, sondern die aktuell selektierte Zelle(n) als referenz nimmt.
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    ... Nun solltest es selber wissen. :'D
    Es muss doch in jedem Falle eine Zelle markiert sein. Egal ob durch Maus oder Taste, sonst greift doch das Menü 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!
    Das stimmt nicht.
    Probiers mal aus. Du kannst mitm Rechtsklick sehr wohl keine Zelle markiert haben ;)
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    ... Nun solltest es selber wissen. :'D
    @MemoAnMichSelbst: Hast Du diesen Thread versehentlich als Erledigt markiert? Mach einen Post und er ist wieder offen.
    OK. Wenn da aber nun auf eine Trennlinie geklickt wurde, welcher Zelle willst Du denn dann den Klick zuordnen?
    ----------
    Ich hab gerade vom @ErfinderDesRades: diesen Post gelesen.
    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!

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „RodFromGermany“ ()

    Nene ;)
    Dein Tip mit GetAsyncKeyState hat schon geholfen!

    Dass er beim Mausklick die richtige Zelle markiert war ja kein Problem.
    Deine Bedenken genau die Trennlinie zu finden kann ich zerstreuen. Das handlet die Funktion DataGridView.HitTest Problemlos!

    Ich frag nun im Vorfeld ab, ob die Tastenkombination "noch" gedrückt ist und greife dann nicht auf HitTest, sondern auf CurrentCell zu.

    Alles im Reinen!

    Aber vielen Dank.
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    ... Nun solltest es selber wissen. :'D