Partilhar via


Como selecionar texto no controle TextBox dos Windows Forms

Você pode selecionar texto programaticamente no controle Windows Forms TextBox . Por exemplo, se você criar uma função que pesquisa de texto de uma determinada cadeia de caracteres, poderá selecionar o texto para alertar visualmente o leitor da posição da cadeia de caracteres encontrada.

Selecionar texto com programação

  1. Defina a SelectionStart propriedade como o início do texto que você deseja selecionar.

    A SelectionStart propriedade é um número que indica o ponto de inserção dentro da cadeia de caracteres de texto, com 0 sendo a posição mais à esquerda. Se a SelectionStart propriedade for definida como um valor igual ou maior que o número de caracteres na caixa de texto, o ponto de inserção será colocado após o último caractere.

  2. Defina a SelectionLength propriedade como o comprimento do texto que você deseja selecionar.

    A SelectionLength propriedade é um valor numérico que define a largura do ponto de inserção. Definir o para um número maior que 0 faz com que esse SelectionLength número de caracteres seja selecionado, a partir do ponto de inserção atual.

  3. (Opcional) Acesse o texto selecionado por meio da SelectedText propriedade.

    O código abaixo seleciona o conteúdo de uma caixa de texto quando o evento do Enter controle ocorre. Este exemplo verifica se a caixa de texto tem um valor para a Text propriedade que não null é ou uma cadeia de caracteres vazia. Quando a caixa de texto recebe o foco, o texto presente nela é selecionado. O manipulador de eventos TextBox1_Enter deve ser associado ao controle; para obter mais informações, consulte Como criar manipuladores de eventos no tempo de execução para Windows Forms.

    Para testar esse exemplo, pressione a tecla Tab até que a caixa de texto receber o foco. Se você clicar na caixa de texto, a seleção dele será cancelada.

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

Confira também