So verschieben Sie den Textbox-Cursor nach rechts

8

Ich möchte alle in ein Textfeld eingegebenen Zeichen in Großbuchstaben ändern. Der Code fügt das Zeichen hinzu, aber wie verschiebe ich das Caret nach rechts?

%Vor%     
monkey_boys 24.07.2009, 14:17
quelle

6 Antworten

18

Legen Sie die CharacterCasing Eigenschaft von% fest co_de% bis TextBox ; dann müssen Sie es nicht manuell verarbeiten.

Beachten Sie, dass Upper das neue Zeichen an das Ende der Zeichenfolge anfügt, auch wenn sich die Eingabezeile in der Mitte der Zeichenfolge befindet (was für die meisten Benutzer höchst verwirrend ist). Aus dem gleichen Grund können wir nicht davon ausgehen, dass das Eingabe-Caret am Ende der Zeichenfolge nach Eingabe des Zeichens erscheinen sollte.

Wenn Sie das wirklich noch im Code machen möchten, sollte so etwas funktionieren:

%Vor%     
Fredrik Mörk 24.07.2009, 14:19
quelle
11
%Vor%     
jdc 22.03.2010 19:06
quelle
2
%Vor%     
just nothing 13.08.2012 07:01
quelle
1

Dies wird die Position des Einfügepunkts beibehalten (aber persional würde ich mit der Antwort von Fredrik Mörk gehen)

%Vor%

SelectionStart könnte eigentlich SelStart heißen, ich habe im Moment keinen Compiler zur Hand.

    
Binary Worrier 24.07.2009 14:23
quelle
1

Wenn Sie dies manuell tun müssen, können Sie

verwenden %Vor%

Aber der vorhergehende Code fügt das neue Zeichen am Ende des Textes ein. Wenn Sie es einfügen möchten, wo der Cursor ist:

%Vor%

Dieser Code fügt das neue Zeichen an der Cursorposition ein und verschiebt den Cursor nach links von dem neu eingefügten Zeichen.

Aber ich denke immer noch, dass das Setzen von CharacterCasing besser ist.

    
erelender 24.07.2009 14:24
quelle
0

Eine andere Methode besteht darin, einfach den Wert des KeyChar selbst zu ändern:

%Vor%

Obwohl das Verwenden der CharacterCasing-Eigenschaft die einfachste Lösung ist.

    
Chris Dunaway 24.07.2009 15:56
quelle

Tags und Links