Zum Inhalt springen

textbox eingabe bei verlassen prüfen


Floh-2001

Empfohlene Beiträge

Hallo Leute

bin anfänger in vb6 und habe mir eine form gemacht mit 3 Textboxen.

die erste textbox hat nur zahlen und die 2 u. 3 textbox zeichen.

Was Ich verzweifelt suche ist eine Lösung wie Ich mit enter,tab und maus die Textbox verlassen kann und die eingabe überprüft wird. Ich habe schon mehrere lösungen gefunden. mit keypress klappt es nur mit der Entertaste mit handels textbox1.leave klappt es mit der maus und tab. aber alle 3 zusammen krieg ich nicht hin. Wer kann mir helfen. Danke

Link zu diesem Kommentar
Auf anderen Seiten teilen

Moin,

die MSDN sagt:

"Das Validate-Ereignis eignet sich besser zum Überprüfen der Dateneingabe als das LostFocus-Ereignis, da das LostFocus-Ereignis (nach Definition) nach dem Verschieben des Fokus eintritt. Im Gegensatz dazu können Sie durch Verwenden des Validate-Ereignisses verhindern, daß der Fokus auf ein anderes Steuerelement verschoben wird, bevor sämtliche Gültigkeitsregeln erfüllt sind."

Gruß Martin

Link zu diesem Kommentar
Auf anderen Seiten teilen

Zum einen das was Martin schreibt und alle drei Events wirst Du nie unter einen Hut bekommen. Du kannst allerdings innerhalb der beiden Eventbehandlungen die Methode validateBox oder wie auch immer aufrufen und dort die Prüfung machen. Die Frage ist nur was Du machst, wenn eine Prüfung fehl schlägt?

Frank

Link zu diesem Kommentar
Auf anderen Seiten teilen

Zum einen das was Martin schreibt und alle drei Events wirst Du nie unter einen Hut bekommen. Du kannst allerdings innerhalb der beiden Eventbehandlungen die Methode validateBox oder wie auch immer aufrufen und dort die Prüfung machen. Die Frage ist nur was Du machst, wenn eine Prüfung fehl schlägt?

Frank

wenn eine prüfung fehl schlägt bleibt er in der textbox und bringt eine meldung mittels msgbox.

Kenne Beide Funktionen von euch nicht gibt es da detailierte angaben dazu. Wäre super wenn es eine lösung gebe.

Danke

Link zu diesem Kommentar
Auf anderen Seiten teilen

Welche Funktion kennst Du nicht?

Frank

Ich kenne nur die keypress funktion und das textbox1.leave funktion

das Validate-Ereignis kenn ich nicht.

ich bin totaler anfänger.

Ich brauche das listing dazu damit ich mit den befehlen was anfangen kann.

genauso wie und wo es eingebaut werden muss.

Ich habe vor 2 monaten mit vb6 angefangen.

sorry

Link zu diesem Kommentar
Auf anderen Seiten teilen

folgendes Beispiel aus der MSDN:


Validate-Ereignis, CausesValidation-Eigenschaft (Beispiel)

Im Beispiel werden drei Steuerelemente verwendet, um die Verwendung des Validate-Ereignisses und der CausesValidation-Eigenschaft zu zeigen. Standardmäßig ist die CausesValidation-Eigenschaft der beiden Textfeld-Steuerelemente (TextBox) auf True gesetzt. Wenn Sie daher versuchen, den Fokus vom einen auf das andere Textfeld zu übertragen, tritt das Validate-Ereignis auf. Falls Text1 kein Datum enthält oder Text2 keine Zahl größer 10 enthält, wird das Verschieben des Fokus verhindert. Da die CausesValidation-Eigenschaft des Steuerelements Command1 auf False gesetzt ist, können Sie jedoch jederzeit auf die Hilfeschaltfläche klicken.


Um das Beispiel auszuprobieren, plazieren Sie ein Befehlsschaltfläche-Steuerelement (CommandButton) und zwei Textfeld--Steuerelemente in einem Formular. Fügen Sie den Code in den Deklarationsabschnitt des Formulars ein, und führen Sie das Projekt aus. Versuchen Sie, den Fokus durch drücken der TABULATORTASTE zu verschieben.


Private Sub Form_Load()

   ' CausesValidation-Eigenschaft der Schaltfläche auf False setzen. Beim 

   ' Klicken auf die Schaltfläche tritt das Validate-Ereignis nicht auf. 

   ' Caption-Eigenschaft der Schaltfläche auf "Hilfe" setzen.

   With Command1

      .CausesValidation = False

      .Caption = "Hilfe"

   End With


   Show

   With Text1 ' Text in Text1 auswählen und Fokus darauf setzen.

      .SelLength = Len(Text1.Text)

      .SetFocus

   End With

End Sub


Private Sub Command1_Click()

   ' Hilfe bereitstellen, wenn auf die Schaltfläche geklickt wird.

   MsgBox _

   "Text1 muß ein Datum enthalten." & VbCrLF & _

   "Text2 muß eine Zahl kleiner 10 enthalten."

End Sub


Private Sub Text1_Validate(KeepFocus As Boolean)

   ' Falls Wert kein Datum ist, Fokus behalten, es sei denn, es wird 

   ' auf die Hilfeschaltfläche geklickt.

   If Not IsDate(Text1.Text) Then 

      KeepFocus = True

      MsgBox "Bitte geben Sie ein Datum in diesem Feld ein.", ,   "Text1"

   End if

End Sub


Private Sub Text2_Validate(KeepFocus As Boolean)

   ' Falls Wert eine Zahl größer 10 ist, Fokus behalten.

   If Not IsNumeric(Text2.Text) Or Val(Text2.Text) > 10 Then 

      KeepFocus = True

MsgBox _

"Bitte geben Sie eine Zahl kleiner oder gleich 10 ein.", , "Text2"

   End If

End Sub


Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 2 Monate später...

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...