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
Visual Basic (Declaración)
<ContentPropertyAttribute("Text")> _
<LocalizabilityAttribute(LocalizationCategory.Text)> _
Public Class TextBox _
Inherits TextBoxBase _
Implements IAddChild
[ContentPropertyAttribute("Text")]
[LocalizabilityAttribute(LocalizationCategory.Text)]
public class TextBox : TextBoxBase, IAddChild
[ContentPropertyAttribute(L"Text")]
[LocalizabilityAttribute(LocalizationCategory::Text)]
public ref class TextBox : public TextBoxBase,
IAddChild
/** @attribute ContentPropertyAttribute("Text") */
/** @attribute LocalizabilityAttribute(LocalizationCategory.Text) */
public class TextBox extends TextBoxBase implements IAddChild
public class TextBox extends TextBoxBase implements IAddChild
Uso de elementos de objeto XAML
<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
.gif)
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.
Nota 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.
Private Sub OnClick(ByVal senter As Object, ByVal e As RoutedEventArgs)
Dim sSelectedText As String = tbSelectSomeText.SelectedText
End Sub
void OnClick(object sender, RoutedEventArgs e)
{
String sSelectedText = tbSelectSomeText.SelectedText;
}
Más código
System..::.Object
System.Windows.Threading..::.DispatcherObject
System.Windows..::.DependencyObject
System.Windows.Media..::.Visual
System.Windows..::.UIElement
System.Windows..::.FrameworkElement
System.Windows.Controls..::.Control
System.Windows.Controls.Primitives..::.TextBoxBase
System.Windows.Controls..::.TextBox
Seguridad para subprocesos
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
Referencia
Otros recursos