Im TextBox1 Tabulator Taste drücken um eine Anweisung auszuführen?

  • VB.NET

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

    Im TextBox1 Tabulator Taste drücken um eine Anweisung auszuführen?

    Hey zusammen^^,

    hab nun erneut eine Frage und Google hat mir mal wieder nicht weiter geholfen, deswegen muss ich euch leider hier nerven ^^

    Wenn ich bei TextBox1 die Tabulator-taste drücke springt es in TextBox2. So soll es auch sein und alles ist Perfekt. Aber gibt es folgende Möglichkeit: wenn ich bei TextBox1 die Tabulator-Taste Drücke soll dieser zur TextBox2 springen und es soll diese Anweisung kommen (nur ein Beispiel) MsgBox("Hallo")

    Also:

    If (Bei TextBox1 Auf Tab gedrückt) Then
    Zu TextBox2 springen (Macht es ja sowieso schon) und
    MsgBox("Hallo")
    End If


    Ich hoffe jemand kann mir da weiter helfen^^
    LG
    Wenn immer was passieren soll, sobald TextBox2 den Focus hat, geht das über den GotFocus-EventHandler von TextBox2. Wenn es nur passieren soll, wenn von TB1 auf TB2 per Tab gesprungen werden soll, dann fang das Drücken der Tab-Taste im KeyDown-EventHandler ab, mach TextBox2.Focus und zeige dann Deine MessageBox.

    Ersteres ist allerdings mit ner MessageBox ungeeignet, da diese den Fokus an sich reißt und beim Schließen derselbigen TB2 wieder den Fokus bekommt => es erscheint wieder eine MessageBox.

    Oder ganz einfach: Du setzt die Tabulatorreihenfolge (Im Designer: Menü Ansicht -> Aktivierreihenfolge) so, dass TB2 nach TB1 dran ist und wenn der Benutzer (nur) Tab drückt, kommt die MBox.
    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.

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

    Wenn es nur passieren soll, wenn von TB1 auf TB2 per Tab gesprungen werden soll, dann fang das Drücken der Tab-Taste im KeyDown-EventHandler ab [...]


    Ja genau das will ich^^ Aber leider habe ich nicht ganz verstanden was du damit meinst. Könntest du evt. ein "Beispiel-Code" schreiben?



    Edit: Okay ich hab dank dir eine andere Lösung gefunden^^ Danke vielmals<3

    LanzBock schrieb:

    Aber leider habe ich nicht ganz verstanden was du damit meinst.
    Die Erklärung von @VaporiZed ist korrekt und sollte sogar für Nicht-Programmierer verständlich sein, wenn die wissen, wie Windows-Fenster bedient werden.
    Mach eine neue Form mit 4 TextBoxen:

    VB.NET-Quellcode

    1. Private TextboxFocus As TextBox
    2. Private Sub TextBox_Enter(sender As Object, e As EventArgs) Handles TextBox1.Enter, TextBox2.Enter, TextBox3.Enter, TextBox4.Enter
    3. If TextboxFocus Is TextBox2 AndAlso sender Is TextBox3 Then
    4. MessageBox.Show("TextBox2 => TextBox3")
    5. End If
    6. TextboxFocus = CType(sender, TextBox)
    7. End Sub
    Verstehe den Code und erkläre ihn uns.
    An andere "Oberlehrer" hier im Forum: Bitte nicht vorsagen. ;)
    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: Allerdings behandelt dies ja nur den Focus an sich. Wenn es hier explizit im die Tabulator-Taste geht, ist dies auf diesem Weg nicht möglich. (Außer das war beabsichtigt)
    Mfg: Gather
    Private Nachrichten bezüglich VB-Fragen werden Ignoriert!


    Gather schrieb:

    ist dies auf diesem Weg nicht möglich.
    Das ist mir klar.
    Nur hat der TE wohl nicht ausreichende Vorstellungen von dem, was da alles abläuft.
    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!