Visual Basic - Technik, FAQ, Tricks, Beispiele

Home / Objekte / TextBox / Enter

Bei Enter: Aktion statt Beep!

Problem

Wird in einer einzeiligen TextBox (Beispiel: Text1) die Enter-Taste gedrückt, so erklingt ein störender Warnton.

Lösung

Dies kann durch folgendes Vorgehen verhindert werden:

Private Sub Text1_KeyPress(KeyAscii As Integer)
  If KeyAscii = vbKeyReturn Then
    KeyAscii = 0
    '...Aktion...
  End If
End Sub

Soll bei Enter auf das nächste Control gesprungen werden, so empfehle ich übrigens folgenden Artikel: Nächstes Control in Tab-Reihenfolge finden

Gesamtes Formular berücksichtigen

Sollen alle einzeiligen TextBoxen innerhalb eines Formulars derart behandelt werden, so kann eine allgemeine Routine in Form_KeyPress erstellt werden. Dazu muss die KeyPreview-Eigenschaft des Formulars auf True gesetzt sein:

Private Sub Form_KeyPress(KeyAscii As Integer)
  If TypeOf ActiveControl Is TextBox Then
    If Not ActiveControl.MultiLine Then
      If KeyAscii = vbKeyReturn Then
        KeyAscii = 0
        '...Aktion...
      End If
    End If
  End If
End Sub

© Jost Schwider, 02.12.2000-19.03.2001 - http://vb-tec.de/entrbeep.htm