Floh-2001 Geschrieben 8. Juni 2009 Teilen Geschrieben 8. Juni 2009 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
MartinSt Geschrieben 8. Juni 2009 Teilen Geschrieben 8. Juni 2009 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
robotto7831a Geschrieben 8. Juni 2009 Teilen Geschrieben 8. Juni 2009 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Floh-2001 Geschrieben 8. Juni 2009 Autor Teilen Geschrieben 8. Juni 2009 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
robotto7831a Geschrieben 8. Juni 2009 Teilen Geschrieben 8. Juni 2009 Welche Funktion kennst Du nicht? Frank Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Floh-2001 Geschrieben 8. Juni 2009 Autor Teilen Geschrieben 8. Juni 2009 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
robotto7831a Geschrieben 8. Juni 2009 Teilen Geschrieben 8. Juni 2009 Wenn ich mich richtig erinnere, dann muss man in die Eigenschaften des Feldes gehen und dort kann man dann eine Gültigkeitsregel festlegen. Frank Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
MartinSt Geschrieben 9. Juni 2009 Teilen Geschrieben 9. Juni 2009 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Floh-2001 Geschrieben 9. Juni 2009 Autor Teilen Geschrieben 9. Juni 2009 Hallo MArtin Ich habe dein Script ausprobiert aber es geht nicht. Wenn Ich in textbox 1 tab drücke oder mit der Maus auf Textbox2 klicke wird der Inhalt von Textbox1 nicht überprüft. Entertaste ist gesperrt. Woran liegt das? Danke Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
MartinSt Geschrieben 9. Juni 2009 Teilen Geschrieben 9. Juni 2009 nimm den Debugger und finds raus Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
MartinSt Geschrieben 9. Juni 2009 Teilen Geschrieben 9. Juni 2009 werden denn die Validate Methoden aufgerufen ? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Floh-2001 Geschrieben 9. Juni 2009 Autor Teilen Geschrieben 9. Juni 2009 NEIN die eingabe wird mit verlassen durch tab oder maus nicht beachtet Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
MartinSt Geschrieben 9. Juni 2009 Teilen Geschrieben 9. Juni 2009 ich hab es eben nochmal getestet, der o.g. Code funktioniert, wenn die CauseValidation Eigenschaft der beiden Textfelder auf TRUE steht hast du den o.g. Code so unverändert und ohne weitere ergänzungen verwendet ? wenn ja, zippe mal dein VB-Projet und schick es per mail Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Floh-2001 Geschrieben 2. September 2009 Autor Teilen Geschrieben 2. September 2009 Danke, hab es nochmal versucht und jetzt klappts. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
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.