Información general sobre TextBox

La clase TextBox permite mostrar o modificar el texto sin formato. Un uso común de TextBox es editar el texto sin formato de un formulario. Por ejemplo, un formulario que pide el nombre del usuario, el número de teléfono, etc., utilizará controles TextBox para la entrada de texto. En este tema se presenta la clase TextBox y se proporcionan ejemplos de cómo utilizarla en Extensible Application Markup Language (XAML) y C#.

Este tema contiene las secciones siguientes.

  • ¿TextBox o RichTextBox?
  • Crear controles TextBox
  • Detectar los cambios de contenido
  • Temas relacionados

¿TextBox o RichTextBox?

Tanto TextBox como RichTextBox permiten al usuario especificar texto, pero estos controles se utilizan para escenarios diferentes. TextBox requiere menos recursos del sistema que RichTextBox, lo que lo hace idóneo cuando sólo se necesita editar texto sin formato (por ejemplo, para usarlo en un formulario). RichTextBox es preferible cuando es necesario que el usuario modifique texto con formato, imágenes, tablas u otro contenido compatible. Por ejemplo, la edición de un documento, artículo o blog que requieran formato, imágenes, etc. se logra mejor mediante RichTextBox. En la tabla siguiente se resumen las principales características de TextBox y TextBox.

Control

Revisión ortográfica en tiempo real

Menú contextual

Formatos de comando como ToggleBold (Ctr+N)

Contenido de FlowDocument como imágenes, párrafos, tablas, etc.

TextBox

No

No.

RichTextBox

Sí (consulte Información general sobre el control RichTextBox)

Sí (consulte Información general sobre el control RichTextBox)

NotaNota

Aunque TextBox no permite dar formato a los comandos relacionados con la edición, como ToggleBold (Ctr+N), ambos controles admiten numerosos comandos básicos, como MoveToLineEnd.Vea EditingCommands para obtener más información.

Las características admitidas por TextBox se abarcan en las secciones siguientes. Para obtener más información sobre RichTextBox, vea Información general sobre el control RichTextBox.

Revisión ortográfica en tiempo real

Puede habilitar la revisión ortográfica en tiempo real en TextBox o RichTextBox. Cuando se activa la revisión ortográfica, aparece una línea roja aparece debajo de todas las palabras con errores ortográficos (consulte la ilustración mostrada a continuación).

Textbox con corrección ortográfica

Consulte Cómo: Habilitar el corrector ortográfico en un control de edición de texto para obtener información sobre cómo habilitar la revisión ortográfica.

Menú contextual

De manera predeterminada, TextBox y RichTextBox tienen un menú contextual que aparece cuando un usuario hace clic con el botón secundario del mouse dentro del control. El menú contextual permite al usuario cortar, copiar o pegar (consulte la ilustración mostrada a continuación).

TextBox con menú contextual

Puede crear su propio menú contextual personalizado para invalidar el comportamiento predeterminado. Consulte Cómo: Usar un menú contextual personalizado con un control TextBox para obtener más información.

Crear controles TextBox

Un TextBox puede tener una sola línea o varias. Un control TextBox de una sola línea es más adecuado para especificar cantidades pequeñas de texto sin formato (como el " Nombre", el "Número de teléfono", etc. en un formulario). En el ejemplo siguiente se muestra cómo crear un control TextBox de una sola línea.

<Page  xmlns="https://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="https://schemas.microsoft.com/winfx/2006/xaml">
  <StackPanel>
    <TextBox Width="200" MaxLength="100" />
  </StackPanel>
</Page>

También puede crear controles TextBox que permitan al usuario escribir varias líneas de texto. Por ejemplo, si en el formulario se pide una pequeña biografía del usuario, deberá utilizar un control TextBox que admita varias líneas de texto. En el ejemplo siguiente se muestra cómo utilizar Extensible Application Markup Language (XAML) para definir un control TextBox que se expande automáticamente para alojar varias líneas de texto.

<TextBox
  Name="tbMultiLine"
  TextWrapping="Wrap"
  AcceptsReturn="True"
  VerticalScrollBarVisibility="Visible"
>
  This TextBox will allow the user to enter multiple lines of text.  When the RETURN key is pressed, 
  or when typed text reaches the edge of the text box, a new line is automatically inserted.
</TextBox>

Al establecer el atributo TextWrapping en Wrap, el texto se ajusta para continuar en una nueva línea cuando se alcanza el borde del control TextBox, lo que expande automáticamente el control TextBox a fin de incluir espacio para una nueva línea, si es necesario.

Establecer el atributo AcceptsReturn en true hace que se inserte una nueva línea cuando se presiona la tecla ENTRAR, con lo que TextBox se expande automáticamente una vez más a fin de incluir espacio para una nueva línea, si es necesario.

El atributo VerticalScrollBarVisibility agrega una barra de desplazamiento a TextBox, a fin de que sea posible recorrer el contenido de TextBox si TextBox se expande más allá del tamaño del marco o de la ventana que lo enmarca.

Para obtener más información sobre distintas tareas asociadas al uso de un control TextBox, consulte Temas "Cómo..." del control TextBox.

Detectar los cambios de contenido

Normalmente, se debe utilizar el evento TextChanged para detectar los cambios del texto de un control TextBox o RichTextBox, en lugar de KeyDown, como cabría esperar. Vea Cómo: Detectar cuándo cambia el texto en un control TextBox para obtener un ejemplo.

Vea también

Conceptos

Información general sobre el control RichTextBox

Otros recursos

Temas "Cómo..." del control TextBox