im Datagridview Return abfangen

  • VB.NET

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von frifri.

    im Datagridview Return abfangen

    Hallo,

    ich schlage mich schon ne Weile mit einem Problem rum.

    Ich habe eine textbox. Wenn ich da eine ArtikelNummer eingebe, werden die zugehörigen Daten rausgesucht.
    Wenn die Artikelnummer aber mehrfach existiert (mehrere Lieferanten) geht ein Datagridview (dgv2) auf und ich kann in diesem den entsprechenden Artikel mit den Pfeiltasten raus suchen und mit enter/Return oder doppelklick werden die Werte rausgesucht.
    Mein Problem: beim doppelklick geht alles wie es soll. Das DGV2 wird geschlossen die Werte werden gefunden und angezeigt
    Wenn ich allerdings RETURN drücke, schließt das DGV2 kurz und wird dann wieder geöffnet, so als würde ich in der Textbox nochmal RETURN drücken.

    Ich denke das RETURN wird, warum auch immer, an die Textbox übergeben und die führt das ganze nochmals auf.

    Kann ich, wenn im DGV2 die RETURN taste gedrückt wird, dies feststellen die Prozedur auslösen und das RETURN ins Nirvana schicken?

    VB.NET-Quellcode

    1. Private Sub DataGridView2_KeyDown(sender As Object, e As KeyEventArgs) Handles DataGridView2.KeyDown
    2. If e.KeyCode = Keys.Escape Then
    3. DataGridView2.Visible = False
    4. TextBoxArtikelNummer.Select()
    5. End If
    6. If e.KeyCode = Keys.Return Then
    7. DGV2DatenÜbernehmen()
    8. End If
    9. End Sub
    Da scheint noch mehr dahinter zu stecken. Habe ne TextBox und ein DGV, dazu den Code:

    VB.NET-Quellcode

    1. Private Sub TextBox1_KeyDown(sender As Object, e As KeyEventArgs) Handles TextBox1.KeyDown
    2. If e.KeyCode = Keys.Return Then
    3. DataGridView1.Visible = True
    4. DataGridView1.Select()
    5. End If
    6. End Sub
    7. Private Sub DataGridView1_KeyDown(sender As Object, e As KeyEventArgs) Handles DataGridView1.KeyDown
    8. If e.KeyCode = Keys.Return Then
    9. DataGridView1.Visible = False
    10. TextBox1.Select()
    11. End If
    12. End Sub

    Läuft. Kein Hin- und Her. Enter in TextBox -> DGV wird gezeigt und selektiert. Enter in DGV -> DGV wird unsichtbar und TextBox selektiert. Ohne merkwürdige Nebeneffekte.

    Was steckt in DGV2DatenÜbernehmen drin? Denn es ist ja kein Code für das Verstecken und TextBox-Reselektieren im Eingangspost zu sehen - zumindest nicht, wenn man Enter drückt.
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Häufig von mir verwendete Abkürzungen: CEs = control elements (Labels, Buttons, DGVs, ...) und tDS (typisiertes DataSet)
    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht in den Spekulatiusmodus gehen.