Bestimmten Button als vorgewählt setzen (per TAB von Button zu Button springen per Befehl machen)

  • VB.NET

Es gibt 9 Antworten in diesem Thema. Der letzte Beitrag () ist von Elephant.

    Bestimmten Button als vorgewählt setzen (per TAB von Button zu Button springen per Befehl machen)

    Man kann ja per TAB einen bestimmten Button wählen der dann auch mit der RETURN Taste ausgelöst wird.
    Ich habe eine TextBox und einen Button der mit dem Text eine Aktion ausführt.
    Nun möchte ich das, wenn Text in die TextBox eingegeben wird der Button als vorausgewählt gesetzt wird.

    VB.NET-Quellcode

    1. Private Sub TextBox1_TextChanged(sender As System.Object, e As System.EventArgs) Handles TextBox1.TextChanged
    2. End Sub

    um auf eine Texteingabe zu reagieren habe ich.

    Weiß aber nicht wie ich den Button dann als vorausgewählt setze.
    @Elephant Dafür gibt es die Aktivierreihenfolge:
    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:

    Dafür gibt es die Aktivierreihenfolge:


    Entweder verstehe ich da etwas nicht, oder ich habe mich falsch Ausgedrückt.
    Ich meine die Aktivierreihenfolge ist doch in welcher Reihenfolge sie beim TAB drücken aktiviert werden.
    Meine Reihenfolge ist so das erst die TextBox kommt und dann der Button für die Aktion.
    Mein Gedanke ist wenn jemand in die TextBox erwas eingibt will er höchstwarscheinlich danach die Aktion auslösen.
    So wie es jetzt ist müsste er nach eingabe des Textes...
    Bei Eingeben des Textes fällt mir grade auf das es so wie ich, gedacht habe ganicht geht.
    Der Gedanke war das man seine Texteingabe mit der RETURN Taste abschließt und damit ohne vorher TAB zu drücken die Aktion ausgelöst wird.
    Wenn ich aber bei der Eingabe den Butten als vorausgewählt ativiere lassen sich ja aber nach den ersten Buchstaben keine weitere Buchstaben eingeben. Da der Fokus dann auf dem Button ist.
    Muß ich wir mal überlegen wie man dafür sorgen kann das wenn bei der Eingabe die RETURN Taste gerückt wird, direkt die Aktion ausgeführt wird.
    @Elephant Du kannst natürlich bei Deinem Text den Folus auf den betreffenden Button setzen.
    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:

    Du kannst natürlich bei Deinem Text den Folus auf den betreffenden Button setzen.

    Wenn ich in die TextBox einen Buchstaben eingebe, dann TAB drücke so das der Focus auf dem Butten ist landen weitere Buchstaden die ich tippe nicht mehr in der TextBox.
    Wenn man das mir Behlen anders machen kann verrate mir doch bitte wie.

    Elephant schrieb:

    verrate mir doch bitte wie.
    Ich hab wohl noch nicht genau verstanden, was genau Dir vorschwebt. :/
    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!
    Der Benutzer klickt auf die TextBox (oder drückt TAB bis sie selektiert ist).
    Tippt dann z.B. die Taste fürs N, dann die für ein U. Direkt danach drückt er die RETURN Taste.
    Dann soll die Aktion ausgeführt werden die sonst über den Button gestartet wird.
    Die gewöhnliche Vorgehensweise, sprich es wird ein Text eigegeben und Return gedrückt.
    Der Benutzer müßte dann nicht daran denken das er nach dem Text Tab drückt und dann Return um die Aktion auszulösen
    Ist die Aktion TextBox-Inhalt-abhängig?

    Grundsätzlich wäre sowas möglich, wenn Du den TextBox_KeyDown-EventHandler hernimmst und e.KeyCode auf Keys.Enter prüfst.
    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.

    VaporiZed schrieb:

    Ist die Aktion TextBox-Inhalt-abhängig?

    Ist völlig unabhängig von dem Inhalt.

    Vielen Dank das Funktioniert so wie gewünscht

    Habe auch schnell die für mich nötigen Infos/Beispiel gefunden.
    So sieht das jetzt bei mir aus:

    VB.NET-Quellcode

    1. Private Sub textBox1_KeyDown(sender As Object, e As System.Windows.Forms.KeyEventArgs) _
    2. Handles TextBox1.KeyDown
    3. If e.KeyCode = Keys.Enter Then
    4. 'Hier Aktion ausführer
    5. End If
    6. End Sub