focus geht zu nächstem textfeld, letztes textfeld aktualisieren

DieterWeb

Mitglied
okay der titel is net so prall aber was anderes is mir net eingefallen :). also folgendes:
ich habe 4 textfelder, und möchte folgendes jedesmal wenn es 3 stellen erreicht hat, soll es 1. falls die zahl über 255 (ja is für ip's :p) ne msgbox ala "zahl zu hoch blablub" ausgeben und 2. ins nächste textfeld springen.
2. hab ich scho hingekriegt mit :

If Len(txtIP1.Text) = 2 Then
txtIP2.Focus()
End If


warum ich da 2 genommen habe bin ich mir selber net sicher, aber bei 3 springt der nicht direkt nach dem eingeben der dritten stelle sondern erst nachdem man drei stellen hat und nochmal ne taste drückt (die dann aber leider nur den focus weiterrückt aber nicht die taste dort mit eingibt)

also was ich am liebsten hätte wäre ne ereignisprozedur für felder die ihren focus gerade verloren haben ;). ich weiss es gibt lostfocus, bin mir aber nicht sicher ob das a. mein problem löst, oder b. wie es genau .

thx 4 help

ps. er sollte halt irgendwie checken das wenn ein feld der focus verlässt ob es über 255 ist (wie man das checkt is klar, nur halt nicht wie ich es starte wenn der focus weg ist), dann wird die schrift rot oder so (is mir auch klar wie das geht) solange bis der wert sich wieder geändert hat (ka wie das geht :p) also ich habs bis jetzt nur hingekriegt das auf ein anderes event, zb nen click event, er überprüft hat ob ein feld zu hoch ist, das wurde dann bold gemacht und der click button hat noch nicht berechnet, allerdings wenn man dann das feld verändert hat, ist es bold geblieben, aber naja das wird sicher auch zu llösen sein ;)
 
Zuletzt bearbeitet:
also nochma in kurz:

ich will während eines keypress folgende dinge erledigen:
1. wenn backspace gedrückt und 0 zeichen ein feld nach vorne
2. wenn 3 zeichen eingegeben, checken ob der eingegebene wert grösser als 255, wenn ja ein feld weiter, wenn nein im aktuellen feld bleiben inhalt markieren, und ne fehlermeldung ausgeben (nur nen label text ändern). hierbei ist es wichtig das wenn man eine vierte zahl eintippt, diese auch automatisch dann im nächsten feld erscheint, nicht einfach nur veranlasst das feld zu wechseln.

1. hab ich hingekriegt
2. hab ich nur so hingekriegt das er zwar nach 3 zeichen springt, aber dann egal ob über 255 oder nicht
 
Zuletzt bearbeitet:
danke für die zahlreichen antworten...

aber naja für alle die ein ähnliches problem haben empfehle ich niemals keypress (höchstens für tastaturrestriktionen) zu verwenden sondern auf keyup zu setzen. da bei keypress er erst auf ein event reagiert wenn die nächste taste gedrückt wird. es scheint so das ein "ganzer" keypress erst zuende ist wenn die nächste taste gedrückt wird.
 
Zurück