Wie aktualisiere ich den Text von der TextBox
Steuerung?
Betrachten Sie a TextBox
das enthält bereits die Zeichenfolge "Wel"
Um Text in die einzufügen TextBox
, Ich benutze:
TextBox1.Text = TextBox1.Text.Insert(3, "come")
Und um Zeichen aus der TextBox
:
TextBox1.Text = TextBox1.Text.Remove(3, 4)
Aber ich muss das können:
TextBox1.Text.Insert(3, "come");
TextBox1.Text.Remove(3, 4);
Dieser Code aktualisiert jedoch nicht die TextBox
.
Ist das möglich?
Kann dies über die Append-Methode erreicht werden?
Antworten:
0 für die Antwort № 1Text
Die Eigenschaft von TextBox ist vom Typ string, die unveränderlich ist. Es ist nicht möglich, die vorhandene Zeichenfolge zu ändern. Insert()
oder Remove()
Gibt eine neue Instanz von string mit der Änderung zurück und Sie müssen diese neue Instanz wieder der Text-Eigenschaft von TextBox zuweisen.
Es gibt TextBox.AppendText()
Das könnte Sie interessieren. Es hängt Text an das Ende der Zeichenfolge, aber Sie können nichts wie tun Insert()
oder Remove()
damit aber.
BEARBEITEN:
Für Ihren Tastendruck könnten Sie so etwas tun
char charToReplace = (char) (e.KeyChar + 1); // substitute replacement char
textBox1.SelectedText = new string(charToReplace,1);
e.Handled = true;
0 für die Antwort № 2
"string"
ist ein unveränderlicher Typ, so dass jedes Mal, wenn der Zeichenfolgenwert geändert wird, neuer Speicher zugewiesen wird. Also, wenn Sie Text einfügen oder entfernen möchten TextBox
, müssen Sie es zurück zuweisen TextBox.Text
Eigentum. Wenn Sie jedoch nur Text an die TextBox.Text
, du kannst tun
textBox.AppendText("Hello");