Partilhar via


Como: Selecionar texto no controle de caixa de texto do Windows Forms

Você pode selecionar texto programaticamente no controle TextBox Windows Forms. 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 propriedade SelectionStart para o início do texto que você deseja selecionar.

    A propriedade SelectionStart é um número que indica o ponto de inserção dentro da cadeia de texto, com 0 sendo a posição mais à esquerda. Se a propriedade SelectionStart 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 propriedade SelectionLength para o comprimento do texto que você deseja selecionar.

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

  3. (Opcional) Acesse o texto selecionado através da propriedade SelectedText.

    O código abaixo seleciona o conteúdo de uma caixa de texto quando o evento Enter do controle ocorre. Este exemplo verifica se a caixa de texto tem um valor para a propriedade Text que não é null ou uma cadeia de caracteres vazia. Quando a caixa de texto recebe o foco, o texto atual na caixa de texto é selecionado. O manipulador de eventos TextBox1_Enter deve estar vinculado 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. Ao clicar na caixa de texto, o texto deixará de estar 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;  
       }  
    }  
    

Ver também