Compartir a través de


Información general sobre TextBox

La clase TextBox le permite mostrar o editar texto sin formato. Un uso común de un TextBox es editar texto sin formato en un formulario. Por ejemplo, un formulario que solicita el nombre del usuario, el número de teléfono, etc. usaría TextBox controles para la entrada de texto. En este tema se introduce la clase TextBox y se proporcionan ejemplos de cómo usarla tanto en Extensible Application Markup Language (XAML) como en C#.

¿TextBox o RichTextBox?

TextBox y RichTextBox permiten a los usuarios introducir texto, pero los dos controles se utilizan en diferentes escenarios. Un TextBox requiere menos recursos del sistema que un RichTextBox , por lo que es ideal cuando solo es necesario editar texto sin formato (es decir, el uso en un formulario). Un RichTextBox es una mejor opción cuando es necesario que el usuario edite texto con formato, imágenes, tablas u otro contenido compatible. Por ejemplo, editar un documento, artículo o blog que requiera formato, imágenes, etc., es mejor realizado con un RichTextBox. La tabla a continuación resume las características principales de TextBox y RichTextBox.

Supervisión Revisión ortográfica en tiempo real Menú contextual Comandos de formato como ToggleBold (Ctrl+B) Contenido FlowDocument como imágenes, párrafos, tablas, etc.
TextBox No No.
RichTextBox Sí (consulte Introducción a RichTextBox) Sí (consulte Introducción a RichTextBox)

Nota:

Aunque TextBox no admite comandos de edición relacionados con el formato, como ToggleBold (Ctrl+B), muchos comandos básicos son compatibles con ambos controles, como MoveToLineEnd. Consulte EditingCommands para obtener más información.

Las características que admite TextBox se tratan en las secciones siguientes. Para obtener más información sobre RichTextBox, consulte Información general sobre RichTextBox.

Revisión ortográfica en tiempo real

Puede activar la revisión ortográfica en tiempo real en un TextBox o RichTextBox. Cuando se activa la revisión ortográfica, aparece una línea roja debajo de las palabras con errores de ortografía (consulte la siguiente imagen).

Textbox with spell-checkingTextbox con revisión ortográficaEditing_TextBox_with_Spellchecking

** Consulte Habilitar la revisión ortográfica en un control de edición de texto para aprender cómo habilitar el corrector ortográfico.

Menú contextual

Por defecto, tanto TextBox como RichTextBox tienen un menú contextual que aparece cuando el usuario hace clic con el botón derecho dentro del control. El menú contextual permite al usuario cortar, copiar o pegar (consulte la siguiente imagen).

TextBox con menú contextual: Editing_TextBox_with_Context_Menu

Puede crear su propio menú contextual personalizado para invalidar el comportamiento predeterminado. Consulte usar un menú contextual personalizado con un cuadro de texto para más información.

Crear controles TextBox

Un TextBox puede tener una sola línea de alto o constar de varias líneas. Un cuadro de texto de una sola línea es mejor para introducir pequeñas cantidades de texto sin formato (p. ej., "Nombre", "Número de teléfono", etc. en un formulario). En el siguiente ejemplo se muestra cómo crear una sola línea TextBox.

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

También puede crear un control TextBox que permita al usuario escribir varias líneas de texto. Por ejemplo, si en el formulario se pide una pequeña biografía del usuario, querrías usar un TextBox que soporte varias líneas de texto. En el siguiente ejemplo se muestra cómo usar el lenguaje de marcado de aplicaciones extensible (XAML) para definir un control TextBox que se expande automáticamente para acomodar 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>

Establecer el atributo TextWrapping en Wrap hace que el texto se ajuste a una nueva línea cuando se alcanza el borde del control TextBox, expandiendo automáticamente el control TextBox para incluir espacio para una nueva línea, si es necesario.

Al establecer el atributo AcceptsReturn en true, se inserta una nueva línea cuando se presiona la tecla de retorno, lo cual, una vez más, expande automáticamente el TextBox para incluir espacio para una nueva línea, si es necesario.

El atributo VerticalScrollBarVisibility agrega una barra de desplazamiento al TextBox, de modo que el contenido de TextBox se pueda desplazar si TextBox se expande más allá del tamaño del marco o ventana que lo contiene.

Para obtener más información sobre las distintas tareas asociadas con el uso de TextBox, consulte Temas de Cómo Hacer.

Detectar los cambios de contenido

Normalmente, se debería usar el evento TextChanged, y no TextBox, como cabría esperar, para detectar los cambios en el texto en RichTextBox o KeyDown. Consulte Detectar cuándo cambiad el texto en un control TextBox para ver un ejemplo.

Consulte también