Durch Leer-Taste Button_Click auslösen

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

Es gibt 2 Antworten in diesem Thema. Der letzte Beitrag () ist von mcvb.

    Durch Leer-Taste Button_Click auslösen

    Bei meinem aktuellen Projekt möchte ich einen Buttton auch über die Leer-Taste auslösen.

    Habe schon versucht mit performclick und mit einer Funktion bei key_event. Eigentlich funktioniert es, die Funktion wird ausgelöst.
    Nach einem Klick auf den Button muss er disabled werden. Dies geschieht beim Aufrufen über die Leer-Taste leider nicht.

    Hat jemand eine Idee?

    Hier der Code:

    VB.NET-Quellcode

    1. Private Sub btnTransmit_Click(sender As Object, e As EventArgs) Handles btnTransmit.Click
    2. ClickBtnTransmit()
    3. End Sub


    VB.NET-Quellcode

    1. Private Sub ClickBtnTransmit()
    2. btnTransmit.Enabled = False
    3. cbxState.Enabled = False
    4. If Not TransverActive Then
    5. TransverActive = True
    6. DoActDeactTransfer()
    7. Else
    8. ContinueTransfer = True
    9. End If
    10. End Sub


    VB.NET-Quellcode

    1. Private Sub Form1_KeyDown(sender As Object, e As KeyEventArgs) Handles Me.KeyDown
    2. Select Case e.KeyCode
    3. 'Start Button
    4. Case Keys.Space
    5. If btnTransmit.Enabled Then
    6. ClickBtnTransmit()
    7. End If
    8. 'Reset
    9. Case Keys.Delete
    10. ResetTab2(True)
    11. End Select
    12. End Sub

    mcvb schrieb:

    über die Leer-Taste auslösen
    Dein Code wäre nicht Windows-konform.
    Ein Button, der den Fokus hat, wird per Default über die Leertaste ausgelöst.
    Wenn Du einen anderen Button als den, der den Fokus hat, per Leertaste drücken willst, widerspricht das der üblichen Windows-Bedienung und das könnte schief gehen.
    -----
    btnTransmit.PerformClick() funktioniert nur, wenn der Button .Enable = True 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!