Tastenkombination mit Strg-Taste funktioniert nicht

  • VB.NET

Es gibt 5 Antworten in diesem Thema. Der letzte Beitrag () ist von Ebbe.

    Tastenkombination mit Strg-Taste funktioniert nicht

    Hallo zusammen,
    ich habe jetzt schon viel gegooglet, aber nirgendwo eine Lösung zu meinem Problem gefunden, das auch auf den ersten Blick für mich überhaupt keinen Sinn ergibt.
    Ich möchte programmieren, dass durch die Tastenkombination "Strg + C" eine Aktion ausgefüht wird. Für die Tastenkombination "Alt + C" kriege ich das problemlos hin:

    VB.NET-Quellcode

    1. Private Sub Tastenkombination(ByVal sender As Object, ByVal e As KeyEventArgs) Handles Me.KeyDown
    2. If e.KeyData = (Keys.Alt Or Keys.C) Then MsgBox("Tastenkombination klappt!") ' stimmt, klappt...
    3. End Sub

    Mache ich dasselbe für die Strg-Taste, passiert nichts!

    VB.NET-Quellcode

    1. Private Sub Tastenkombination(ByVal sender As Object, ByVal e As KeyEventArgs) Handles Me.KeyDown
    2. If e.KeyData = (Keys.ControlKey Or Keys.C) Then MsgBox("Tastenkombination klappt!") ' nee, tut sie leider nicht :(
    3. End Sub

    Kann mir irgendjemand erklären, warum das so ist und (noch besser) was man da tun kann? Das wäre super, ich bin nämlich schon am Verzweifeln! ;)
    Ich hoffe, ich nerve nicht...

    Ich habe es jetzt mal auf eine andere Weise probiert:

    VB.NET-Quellcode

    1. Private Declare Function GetAsyncKeyState Lib "user32.dll" (ByVal vKey As Integer) As Integer
    2. Private Sub Tastenkombination(ByVal sender As Object, ByVal e As KeyEventArgs) Handles txtDNA.KeyDown
    3. If GetAsyncKeyState(Keys.V) And GetAsyncKeyState(Keys.ControlKey) Then msgbox("...")
    4. End Sub


    Die Messagebox erscheint seltsamerweise aber nicht sofort, wenn ich die Tasten Strg und V gleichzeitig gedrückt halte, sondern erst wenn ich ich anschließend noch einmal einzeln auf die Strg-Taste klicke.

    Mmh, wahrscheinlich ist so ein Verhalten nur für Einsteiger wie mich verwunderlich ;)