Gör så här: Välj text i Textbox-kontrollen i Windows Forms

Du kan välja text programmatiskt i kontrollen Windows Forms TextBox. Om du till exempel skapar en funktion som söker efter en viss sträng kan du välja texten för att visuellt avisera läsaren om den hittade strängens position.

Så här väljer du text programmatiskt

  1. Ange egenskapen SelectionStart till början av den text som du vill välja.

    Egenskapen SelectionStart är ett tal som anger insättningspunkten i textsträngen, med 0 som längst till vänster. Om egenskapen SelectionStart är inställd på ett värde som är lika med eller större än antalet tecken i textrutan placeras insättningspunkten efter det sista tecknet.

  2. Ange egenskapen SelectionLength till längden på den text som du vill markera.

    Egenskapen SelectionLength är ett numeriskt värde som anger insättningspunktens bredd. Att sätta SelectionLength till ett tal som är större än 0 gör att det antalet tecken väljs, med början från den aktuella insättningspunkten.

  3. (Valfritt) Få åtkomst till den markerade texten via egenskapen SelectedText.

    Koden nedan väljer innehållet i en textruta när kontrollens Enter händelse inträffar. Det här exemplet kontrollerar om textrutan har ett värde för egenskapen Text som inte är null eller en tom sträng. När textrutan tar emot fokus markeras den aktuella texten i textrutan. TextBox1_Enter-händelsehanteraren måste vara bunden till kontrollkomponenten. Mer information finns i Så här: Skapa händelsehanterare vid körning för Windows Forms.

    Testa det här exemplet genom att trycka på tabbtangenten tills textrutan har fokus. Om du klickar i textrutan avmarkeras texten.

    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;
       }
    }
    

Se även