Eingabe Curser im Textfeld setzen?


MartinBeckum

Grünschnabel
Hallo,

ich schreibe momentan ein Programm was sofort auf eingaben in einem Textfeld reagiert. Hier werden bustarben eingegeben und verarbeitet. Für die verarbeitung ist es wichtig das es große bustarben sind. Jetzt könnte ich natürlich Funktionsaufruf(Textfeld.Text.ToUpper()) machen. Ich hätte aber noch gerne das die eingabe im Textfeld auch dann in großbustarben erscheind. Also so in der Art:
Code:
Textfeld.Text = Textfeld.Text.ToUpper();
 Funktionsaufcruf(Textfeld.Text);
Jetzt zu meinem Problem. Bei ToUpper springt der eingabecurser im Textfeld immer wieder ganz an den anfang. Die eingabe soll aber danach hinten weiter gehen. Wie setze ich den Eingabecurser jetzt wieder nach ganz hinten in das Textfeld oder verhinder das er nach vorne spring?

Vielen Dank schon mal im Vorraus
 

stefan7

Grünschnabel
Wenn der User allerdings seine Eingabe editiert und zwischen den Buchstaben welche einfügen will, wird er sich gewaltig ärgern, weil der Cursor bei jedem Tastendruck wieder ans Ende springt.
Ich suchte eine Lösung für dieses Problem, indem der Tastendruck bereits BEVOR er in die Textbox wandert, in Großbuchstaben umgewandelt wird. Das KeyPress-Ereignis ist dabei hilfreich:
Code:
 Private Sub cmbLand_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles cmbLand.KeyPress
  	' Nur Großbuchstaben eingeben
  
  	If e.KeyChar.IsLetter(e.KeyChar) Then
  	  Dim letter As String = e.KeyChar
  	  cmbLand.SelectedText = letter.ToUpper
  	  e.Handled = True
  	End If
    End Sub
 

Neue Beiträge