Button mit Leertaste/Eingabetaste entern

  • VB.NET

Es gibt 13 Antworten in diesem Thema. Der letzte Beitrag () ist von RodFromGermany.

    Button mit Leertaste/Eingabetaste entern

    Hallo ich hab folgendes Problem und zwar hab ich ein programm, das beim enter/Leertaste drücken einen timer startet, doch jetzt hab ich noch einen button, welcher das spiel startet und wenn man dann die leertaste drückt dann wird nur der button eingeloggt aber die spacefunktion (Timer starten) bleibt aus.

    Wie kann man dies verhindern?
    Mir ist nicht ganz klar, was Du meinst.
    Hast Du einen HotKey auf die Leertaste gelegt?
    Windows-Standard ist, dass ein Button, der den Fokus hat, mit der Leertaste betätigt wird Button, CheckBox).
    Sorge dafür, dass der Fokus z.B. auf einer PictureBox oder so liegt.
    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 schrieb:

    Mir ist nicht ganz klar, was Du meinst.

    Also wenn man sich bei irgendeiner Internetseite anmeldet z.B. vbparadise und seinen Benutzernamen und sein Passwort eingegeben hat dann kann man doch auch statt auf anmelden zu drücken einfach die eingabetaste drücken und der code, der normal der button ausführt wird dann auch ausgeführt.
    Grnau das will ich bei meinem Button verhindern denn die funktion der Eingabetaste habe ich schon bei dem anzeigen von einem label verwendet:

    VB.NET-Quellcode

    1. If e.keycode = Keys.enter then
    2. Label2.show
    3. end If


    Doch wenn man jetzt die Eingabetaste drückt dann wird nicht dieser Code ausgeführt sondern der code der im button steht.

    Ich weiß das es irgendeine eigenschaft gibt die bestimmt ob man einen button mit der eingabetaste einloggen kann doch welche???

    RodFromGermany schrieb:

    Sorge dafür, dass der Fokus z.B. auf einer PictureBox oder so liegt.

    Hast Du das mal probiert?
    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!
    Bevor Du die Leertaste betätigst, klicke mit der Maus auf ein Control, das Nicht Button, Nicht CheckBox o.ä. ist.
    Wenn keins da ist, mach Dir eins (z.B. TextBox).
    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 schrieb:

    Bevor Du die Leertaste betätigst, klicke mit der Maus auf ein Control, das Nicht Button, Nicht CheckBox o.ä. ist.
    Wenn keins da ist, mach Dir eins (z.B. TextBox).

    Ok meinst du das dann vor dem debuggen oder im debuggten modus denn ich glaub du verstehst mich falsch.
    Im dateianhang hab ich son bild von dem spiel und ich meine den button oben rechts mit pause und da steht doch drücke leertaste um das spiel zu starten so wenn mann das macht dann wird nicht das spiel gestartet (Timer1.start) sondern das pausemenu vom button wird geöffnet(button eingeloggt)
    Bilder
    • Problem button.PNG

      660,3 kB, 965×622, 195 mal angesehen

    maxasoft schrieb:

    sondern das pausemenu vom button wird geöffnet
    Richtig, denn dieser Button hat den Fokus.
    Mach Dir ein kleines Testprojekt, in dem Du genau diesen Effekt und nichts weiter untersuchst.
    Form, Button, HotKey.
    Wenn Du in dieser Test-Form ohne Hotkey die Leertaste drückst, wird der Button betätigt.
    Denk mal darüber nach, den HotKey zu wechseln.
    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!
    Irdendwo in Deinem Code muss doch die Leertaste abgefragt werden.

    VB.NET-Quellcode

    1. If Key = Keys.Space Then
    2. ' Start
    3. End If
    oder so.
    Da baust Du halt ein

    VB.NET-Quellcode

    1. If Key = Keys.Y Then
    2. ' Start
    3. End If
    oder so.
    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 schrieb:

    Da baust Du halt ein

    Visual Basic Quellcode

    1
    2
    3



    If Key = Keys.Y Then
    ' Start
    End If

    oder so.

    Oh so habe ich das nicht gemeint das hätte ich mir auchschon gedacht :(
    Es gibt doch sicher eine eigenschaft des buttons die bestimmt, ob der button beim leertastedruck geklickt wird ich hab das schon mal in einem youtubetutorial gesehen aber wie geht das?

    HAb jetzt die lösung und zwar lenke ich die leertaste einfach auf eine picturebox und zwar so:

    VB.NET-Quellcode

    1. Picturebox1.select


    Im Formloadevent

    hat sich erledigt :)

    maxasoft schrieb:

    Es gibt doch sicher eine eigenschaft des buttons die bestimmt, ob der button beim leertastedruck geklickt wird
    Das ist Windws Standard.
    Mach Dir eine sonst leere Form mit einem Button. Starte sie und drück die Leertaste.

    VB.NET-Quellcode

    1. Public Class Form1
    2. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    3. MessageBox.Show("Button1")
    4. End Sub
    5. End Class
    Bilder
    • Focus.jpg

      6,16 kB, 310×308, 155 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!