Compartilhar via


Como selecionar texto no controle TextBox dos Windows Forms

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

Para selecionar texto programaticamente

  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, sendo 0 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 com o comprimento do texto que você deseja selecionar.

    A SelectionLength propriedade é um valor numérico que define a largura do ponto de inserção. Ao definir o SelectionLength para um número maior que 0, esse total de caracteres será selecionado, começando do ponto de inserção atual.

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

    O código a seguir seleciona o conteúdo de uma caixa de texto quando o evento do Enter controle ocorre. Este exemplo verifica se a caixa de texto possui um valor associado à propriedade Text que não seja null nem uma cadeia de caracteres vazia. Quando a caixa de texto recebe o foco, o texto atual na caixa de texto é selecionado. O TextBox1_Enter manipulador de eventos deve estar associado ao controle; para obter mais informações, consulte Como criar manipuladores de eventos em tempo de execução para Windows Forms.

    Para testar este exemplo, pressione a tecla Tab até que a caixa de texto tenha o foco. Se você clicar na caixa de texto, o texto não será selecionado.

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

Consulte também