Compartir a través de


Procedimiento para seleccionar texto en el control TextBox de formularios Windows Forms

Se puede seleccionar texto mediante programación en el control TextBox de Windows Forms. Por ejemplo, si crea una función que busca texto de una cadena determinada, puede seleccionar el texto para avisar visualmente al lector de la posición de la cadena detectada.

Para seleccionar texto mediante programación

  1. Establezca la propiedad SelectionStart al inicio del texto que desea seleccionar.

    La propiedad SelectionStart es un número que señala el punto de inserción dentro de la cadena de texto, siendo 0 la posición más a la izquierda. Si la propiedad SelectionStart se establece en un valor igual o mayor que el número de caracteres del cuadro de texto, el punto de inserción se coloca después del último carácter.

  2. Establezca la propiedad SelectionLength en la longitud del texto que quiere seleccionar.

    La propiedad SelectionLength es un valor numérico que establece el ancho del punto de inserción. Si SelectionLength se establece en un número mayor que 0, se selecciona ese número concreto de caracteres, empezando por el punto de inserción actual.

  3. (Opcional) Acceda al texto seleccionado a través de la propiedad SelectedText.

    El código siguiente selecciona el contenido de un cuadro de texto cuando se produce el evento del control Enter. En este ejemplo se comprueba si el cuadro de texto tiene un valor de la propiedad Text que no es null o una cadena vacía. Cuando el cuadro de texto recibe el foco, se selecciona el texto actual de dicho cuadro de texto. El controlador de eventos TextBox1_Enter debe estar enlazado al control; para obtener más información, vea Procedimiento para crear controladores de eventos en tiempo de ejecución para Windows Forms.

    Para comprobar este ejemplo, presione la tecla Tab hasta que el cuadro de texto obtenga el foco. Si hace clic en el cuadro de texto, el texto no está seleccionado.

    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 también