Hallo Lothar, probiere mal
diese Lösung hier, ist auch in gewisser Weise eine "Krücke", weil der Text gleich nach der Eingabe eines Zeichens analysiert und nach "upper" umkodiert wird, das dauert manchmal ein wenig abhängig von der Textlänge, also etwas langsamer eintippen. Diese Variante würde ich für ein Textfeld, das für eine eine direkte Interaktion mit dem Benutzer vorgesehen ist, favorisieren.
Füllt man die Textfelder mit schon vorhandenen Strings, kann man diese vor dem Befüllen in ähnlicher Weise verändern.