TextBox ohne Fokus per Tastatureingabe beschreiben

  • VB.NET

Es gibt 24 Antworten in diesem Thema. Der letzte Beitrag () ist von VaporiZed.

    Kann man denn nicht versuchen das die Textbox erst gar nicht den Focus verliert? Hab es nicht Im Kopf aber da gibt es doch sicher nen passendes Event das ausgelöst wird wenn die Textbox den Focus verliert. Dieses Abonnieren und den Focus wieder auf die Textbox setzen. Kannst ja mal ausprobieren...
    "Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. Lehre einen Mann zu fischen und du ernährst ihn für sein Leben."

    Wie debugge ich richtig? => Debuggen, Fehler finden und beseitigen
    Wie man VisualStudio nutzt? => VisualStudio richtig nutzen
    Ein paar Gedanken meinerseits, da die Beispielanwendung noch fehlt:
    Nutze ggf. den KeyPress-EventHandler, dann kannst Du Dir das Auseinanderpfriemeln sparen. Denn dann heißt es einfach:

    VB.NET-Quellcode

    1. Private Sub FrmMain_KeyPress(sender As Object, e As KeyPressEventArgs) Handles Me.KeyPress
    2. TextBox1.Text &= e.KeyChar
    3. End Sub

    Umlaute, Sonderzeichen etc. werden so übertragen, wie Du sie eingibst. Da die Modifizierertasten wie Shift selber ignoriert werden, jedoch deren Auswirkung nicht, wird beim Tippen von a auch ein a ankommen, während Shift+a eben ein A in der TextBox hinterlässt. So auch ß -> ß und Shift+ß -> ?; etc.
    Dann: Erklär mal bitte - da wir keine Beispielanwendung haben - ob das immer sinnvoll ist. Du beschreibst eine TabPage, die ein DGV und Deine TextBox hat. Aber wenn ich ins DGV oder einem anderen CE was reinschreiben will, würde ja nach Deiner Vorstellung stattdessen die TextBox beschrieben werden. Ist das sinnvoll? Oder hast Du uns da ein ganz konkretes Szenario? Denn so denk ich mir: nichtintuitive Benutzerführung.
    @mrMo: das Teil heißt LostFocus
    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.
    Danke @VaporiZed
    Das Hochladen der Beispielanwendung spare ich mir dann.
    Außer wenn ihr meint, es könnte noch jemandem helfen - dann bastel ich schnell was.
    Denn es gibt auf der TabPage eben nur eine Textbox, einen Button (zum löschen des Inhaltes dieser TB) und ein DGV.
    Das DGV dient ausschließlich der Anzeige von csv Imports (Paketnummern und Empfängerdaten), hier kann der User nichts ändern (nichts reinschreiben).
    Vom DGV habe ich das CellKlick Event abonniert - um die Paketnummer zu kopieren und auch das CellDobleKlick Event habe ich aboniert, um den Paketlebenslauf im Browser anzuzeigen.
    Die Textbox dient dazu die Einträge im DGV (bzw. die BindingSource) zu filtern.

    Also ist diese TB der einzige Ort wo der User etwas schreiben kann. Deswegen wollte ich den Klick in diese TB umgehen.
    Das tue ich nun mit folgendem Code:

    VB.NET-Quellcode

    1. Private Sub frmMain_KeyPress(sender As Object, e As KeyPressEventArgs) Handles Me.KeyPress
    2. If TCMain.SelectedTab Is TPParcels Then 'nur auf Tastatureingabe reagieren, wenn TPParcels ausgewählt
    3. If e.KeyChar = Convert.ToChar(27) Then 'Esacpe - 'Löschen von Suchen Textboxen
    4. If TCMain.SelectedTab Is TPParcels Then DelTBSearchText()
    5. Else
    6. TBSearchParcel.Text &= e.KeyChar
    7. End If
    8. End If
    9. End Sub


    Aber denkbar wäre diese Vorgehensweise ja z.B. auch in meinem Großprojekt - anstelle der Mega Abfragen, die ich da reingehämmert habe - denn auch hier gibt es ja eine handvoll TabPages, wo eben nur ein Control beschrieben werden kann.
    Dadurch dass der User ja eh nirgendwo anders einen Eintrage machen kann (und wahrscheinlich auch nicht will), finde ich das nicht so unintuitiv.
    Also mein Gedanke dahinter ist, wenn ich eh nur ein Control beschreiben kann - und auch halbwegs offensichtlich ist, dass eben nur in eine Textbox geschrieben werden kann - warum diese dann vorher anklicken müssen.
    Klar, wenn es für Dich bearbeitungstechnisch passt, dann alles gut. Es ist ja Dein Programm. Und mit dem Code scheint es ja jetzt auch zu klappen. Daher: Noch Fragen dazu oder ist diese Baustelle erstmal soweit Dorsch?
    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.