Esta documentación está archivada y no tiene mantenimiento.

TextBox (Clase)

Actualización: noviembre 2007

Representa un control que se puede utilizar para mostrar o editar texto sin formato.

Espacio de nombres:  System.Windows.Controls
Ensamblado:  PresentationFramework (en PresentationFramework.dll)
XMLNS para XAML: http://schemas.microsoft.com/winfx/xaml/presentation

[ContentPropertyAttribute("Text")]
[LocalizabilityAttribute(LocalizationCategory.Text)]
public class TextBox : TextBoxBase, IAddChild
/** @attribute ContentPropertyAttribute("Text") */
/** @attribute LocalizabilityAttribute(LocalizationCategory.Text) */
public class TextBox extends TextBoxBase implements IAddChild
public class TextBox extends TextBoxBase implements IAddChild
<TextBox>
  Text
</TextBox>

Modelo de contenido: TextBoxsólo puede contener texto sin formato. Para obtener más información, vea Información general sobre el modelo de contenido de TextBox.

El gráfico siguiente muestra un ejemplo de TextBox.

Ejemplo de cuadro de texto
Captura de pantalla de TextBox

TextBox es un control compuesto de varios componentes encapsulados. Por consiguiente, algunos eventos no traspasan hasta el control contenedor porque están administrados por elementos secundarios encapsulados. Debido a esto, los programadores de aplicaciones deben realizar escuchas para la versión de túnel de un evento (se indica por el prefijo "Vista previa").

TextBox sólo admite texto sin formato. Para aplicaciones que requieren compatibilidad para un contenido más complejo, vea RichTextBox. Para aplicaciones que necesitan aceptar contraseñas u otras entradas confidenciales, vea PasswordBox.

La alineación horizontal y vertical de texto en TextBox se realiza mediante las propiedades HorizontalContentAlignment y VerticalContentAlignment. La alineación de TextBox en el diseño de la página se realiza mediante las propiedades HorizontalAlignment y VerticalAlignment.

La mejor manera de ocultar el borde alrededor de TextBox es establecer la propiedad BorderThickness de TextBox en 0.

ms617604.alert_caution(es-es,VS.90).gifNota importante:

TextBox tiene control integrado para los eventos MouseUp y MouseDown de propagación. Por consiguiente, no se llamará a controladores de eventos personalizados que realizan escuchas para los eventos MouseUp o MouseDown de TextBox. Si necesita responder a estos eventos, realice en su lugar escuchas para los eventos de tunelizaciónPreviewMouseUp y PreviewMouseDowno registre los controladores con el argumento HandledEventsToo (esta última opción sólo está disponible mediante código). No marque el evento administrado a menos que desee deshabilitar deliberadamente el control nativo de TextBox de estos eventos y sea consciente de que esto tiene efectos notables en la interfaz de usuario del control.

Las barras de desplazamiento no están visibles en TextBox de forma predeterminada. Para hacer que las barras de desplazamiento estén visibles, establezca las propiedades VerticalScrollBarVisibility y HorizontalScrollBarVisibility en Visible o Auto.

Normalmente, se debe utilizar el evento TextChanged para detectar que cambia el texto en un TextBox o RichTextBox en lugar de KeyDown cuando podría esperar. Para obtener un ejemplo, vea Cómo: Detectar cuándo cambia el texto en un control TextBox.

En este ejemplo se muestra una manera de utilizar la propiedad SelectedText para recuperar texto que el usuario ha seleccionado en un control TextBox.

En el ejemplo de Lenguaje de marcado de aplicaciones extensible (XAML) siguiente se muestra la definición de un control TextBox que contiene texto que se puede seleccionar y un control Button con un método OnClick especificado.

En este ejemplo, se utiliza un botón con un controlador de eventos Click asociado para recuperar la selección de texto. Cuando el usuario hace clic en el botón, el método OnClick copia en una cadena cualquier texto que esté seleccionado en el cuadro de texto. Las circunstancias concretas en virtud de las que se recupera (hacer clic en un botón) la selección de texto, así como la acción que se lleva a cabo como consecuencia de esa selección (copiar la selección de texto en una cadena), se pueden modificar con facilidad para adaptarlas a gran variedad de escenarios.

<TextBox Name="tbSelectSomeText">
  Some text to select...
</TextBox>

<Button Click="OnClick">Retrieve Selection</Button>


En el ejemplo de C# se muestra un controlador de eventos OnClick para el botón definido en el marcado XAML de este ejemplo.

void OnClick(object sender, RoutedEventArgs e)
{
    String sSelectedText = tbSelectSomeText.SelectedText;
}


Más código

Cómo: Establecer el contenido de texto de un control TextBoxEn este ejemplo se muestra cómo utilizar la propiedad Text para establecer el contenido de texto inicial de un control TextBox.
Cómo: Establecer el foco en un control TextBoxEn este ejemplo se muestra cómo utilizar el método Focus para establecer el foco en un control TextBox.
Cómo: Detectar cuándo cambia el texto en un control TextBoxEn este ejemplo se muestra una manera de utilizar el evento TextChanged para ejecutar un método cada vez que cambia el texto de un control TextBox.
Cómo: Colocar el cursor al principio o al final del texto de un controlEn este ejemplo se muestra cómo colocar el cursor al principio o al final del contenido de texto de un control TextBox.
Cómo: Usar un menú contextual personalizado con un control TextBoxEn este ejemplo se muestra cómo definir e implementar un menú contextual personalizado simple para un TextBox.
Cómo: Mejorar la facilidad de uso de un control TextBox usando una imagen de fondoEn el ejemplo siguiente se muestra cómo facilitar el uso de un control TextBox mostrando una imagen de fondo explicativa dentro de TextBox hasta que el usuario escribe texto, momento en que se quita la imagen. Además, la imagen de fondo se restaura si el usuario quita los datos proporcionados. Vea la ilustración siguiente.

Todos los miembros static (Shared en Visual Basic) públicos de este tipo son seguros para la ejecución de subprocesos. No se garantiza que los miembros de instancias sean seguros para la ejecución de subprocesos.

Windows Vista

.NET Framework y .NET Compact Framework no admiten todas las versiones de cada plataforma. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.

.NET Framework

Compatible con: 3.5, 3.0
Mostrar: