Procedura: selezionare testo nel controllo TextBox Windows Form

È possibile selezionare il testo a livello di codice nel controllo Windows FormTextBox. Ad esempio, se si crea una funzione che cerca testo per una determinata stringa, è possibile selezionare il testo per avvisare visivamente il lettore della posizione della stringa trovata.

Per selezionare il testo a livello di codice

  1. Impostare la SelectionStart proprietà sull'inizio del testo che si desidera selezionare.

    La SelectionStart proprietà è un numero che indica il punto di inserimento all'interno della stringa di testo, con 0 come posizione più a sinistra. Se la SelectionStart proprietà è impostata su un valore uguale o maggiore del numero di caratteri nella casella di testo, il punto di inserimento viene posizionato dopo l'ultimo carattere.

  2. Impostare la SelectionLength proprietà sulla lunghezza del testo che si desidera selezionare.

    La SelectionLength proprietà è un valore numerico che imposta la larghezza del punto di inserimento. Se si imposta su SelectionLength un numero maggiore di 0, tale numero di caratteri viene selezionato a partire dal punto di inserimento corrente.

  3. (Facoltativo) Accedere al testo selezionato tramite la SelectedText proprietà .

    Il codice seguente seleziona il contenuto di una casella di testo quando si verifica l'evento del Enter controllo. In questo esempio viene verificato se la casella di testo ha un valore per la Text proprietà che non null è o una stringa vuota. Quando la casella di testo riceve lo stato attivo, viene selezionato il testo corrente nella casella di testo. Il TextBox1_Enter gestore eventi deve essere associato al controllo. Per altre informazioni, vedere Procedura: Creare gestori eventi in fase di esecuzione per Windows Form.

    Per testare questo esempio, premere TAB finché la casella di testo non ha lo stato attivo. Se si fa clic nella casella di testo, il testo viene deselezionato.

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

Vedi anche