Programmgesteuertes Auswählen von Text im TextBox-Steuerelement in Windows Forms
Sie können Text im Windows Forms-Steuerelement TextBox programmgesteuert auswählen. Wenn Sie beispielsweise eine Funktion erstellen, die Text nach einem bestimmten String durchsucht, können Sie den Text markieren, um den Leser auf die Position der gefundenen Zeichenfolge aufmerksam zu machen.
So wählen Sie Text programmgesteuert aus
Legen Sie die SelectionStart-Eigenschaft auf den Anfang des Texts fest, den Sie auswählen möchten.
Die SelectionStart-Eigenschaft ist eine Zahl, die die Einfügeposition in der Textzeichenfolge angibt, wobei 0 die Position ganz links ist. Wenn die SelectionStart-Eigenschaft auf einen Wert festgelegt wird, der gleich oder größer ist als die Anzahl der Zeichen im Textfeld, wird die Einfügemarke hinter dem letzten Zeichen platziert.
Legen Sie die Eigenschaft SelectionLength auf die Länge des Texts fest, den Sie auswählen möchten.
Die SelectionLength-Eigenschaft ist ein numerischer Wert, der die Breite des Einfügepunkts festlegt. Wenn Sie SelectionLength auf eine Zahl festlegen, die größer als 0 ist, wird die angegebene Anzahl von Zeichen ab der aktuellen Einfügemarke ausgewählt.
(Optional) Greifen Sie über die eigenschaft SelectedText auf den markierten Text zu.
Der folgende Code wählt den Inhalt eines Textfelds aus, wenn das Enter-Ereignis des Steuerelements eintritt. In diesem Beispiel wird überprüft, ob das Textfeld einen Wert für die Eigenschaft Text aufweist, die weder
null
noch eine leere Zeichenfolge ist. Wenn das Textfeld den Fokus erhält, wird der aktuelle Text im Textfeld ausgewählt. DerTextBox1_Enter
-Ereignishandler muss an das Steuerelement gebunden werden. Weitere Informationen finden Sie unter Erstellen von Ereignishandlern für Windows Forms zur Laufzeit.Zum Testen dieses Beispiels drücken Sie die TAB-TASTE, bis das Textfeld den Fokus hat. Wenn Sie auf das Textfeld klicken, wird der Text nicht ausgewählt.
Private Sub TextBox1_Enter(ByVal sender As Object, ByVal e As System.EventArgs) Handles TextBox1.Enter If (Not String.IsNullOrEmpty(TextBox1.Text)) Then TextBox1.SelectionStart = 0 TextBox1.SelectionLength = TextBox1.Text.Length End If End Sub
private void textBox1_Enter(object sender, System.EventArgs e){ if (!String.IsNullOrEmpty(textBox1.Text)) { textBox1.SelectionStart = 0; textBox1.SelectionLength = textBox1.Text.Length; } }
private: void textBox1_Enter(System::Object ^ sender, System::EventArgs ^ e) { if (!System::String::IsNullOrEmpty(textBox1->Text)) { textBox1->SelectionStart = 0; textBox1->SelectionLength = textBox1->Text->Length; } }
Weitere Informationen
- TextBox
- Übersicht über das TextBox-Steuerelement
- Steuern der Einfügemarke in einem TextBox-Steuerelement in Windows Forms
- Erstellen eines Kennwort-Textfelds mit dem TextBox-Steuerelement in Windows Forms
- So geht's: Erstellen eines Read-Only Textfelds
- Anleitung: Anführungszeichen in einen String setzen
- Anzeigen mehrerer Zeilen im TextBox-Steuerelement in Windows Forms
- TextBox-Steuerelement
.NET Desktop feedback