Compartir a través de


Cómo seleccionar texto en el control TextBox de Windows Forms

Puede seleccionar texto mediante programación en el control windows Forms TextBox . Por ejemplo, si crea una función que busca texto para una cadena determinada, puede seleccionar el texto para alertar visualmente al lector de la posición de la cadena encontrada.

Para seleccionar texto mediante programación

  1. Establezca la SelectionStart propiedad en el principio del texto que desea seleccionar.

    La SelectionStart propiedad es un número que indica el punto de inserción dentro de la cadena de texto, con 0 siendo la posición más izquierda. Si la SelectionStart propiedad 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 SelectionLength propiedad en la longitud del texto que desea seleccionar.

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

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

    El código siguiente selecciona el contenido de un cuadro de texto cuando se produce el evento del Enter control. En este ejemplo se comprueba si el cuadro de texto tiene un valor para la Text propiedad que no sea null ni una cadena vacía. Cuando el cuadro de texto recibe el foco, se selecciona el texto actual del cuadro de texto. El TextBox1_Enter controlador de eventos debe estar enlazado al control; para obtener más información, vea How to: Create Event Handlers at Run Time for Windows Forms.

    Para probar este ejemplo, presione la tecla Tab hasta que el cuadro de texto tenga 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