TextBox (Clase) (System.Windows.Forms)

Cambiar vista:
Sin script
Biblioteca de clases de .NET Framework
TextBox (Clase)

Actualización: noviembre 2007

Representa un control de cuadro de texto de Windows.

Espacio de nombres:  System.Windows.Forms
Ensamblado:  System.Windows.Forms (en System.Windows.Forms.dll)
Sintaxis

Visual Basic (Declaración)
<ComVisibleAttribute(True)> _
<ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch)> _
Public Class TextBox _
	Inherits TextBoxBase
Visual Basic (Uso)
Dim instance As TextBox
C#
[ComVisibleAttribute(true)]
[ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch)]
public class TextBox : TextBoxBase
Visual C++
[ComVisibleAttribute(true)]
[ClassInterfaceAttribute(ClassInterfaceType::AutoDispatch)]
public ref class TextBox : public TextBoxBase
J#
/** @attribute ComVisibleAttribute(true) */
/** @attribute ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch) */
public class TextBox extends TextBoxBase
JScript
public class TextBox extends TextBoxBase
Comentarios

Con el control TextBox, el usuario puede escribir texto en una aplicación. Este control tiene funcionalidad adicional que no se encuentra en el control de cuadro de texto de Windows estándar, como el enmascaramiento de caracteres de contraseña y la edición de múltiples líneas.

Habitualmente, se utiliza un control TextBox para mostrar, o aceptar como entrada, una sola línea de texto. Es posible utilizar las propiedades Multiline y ScrollBars para permitir que se muestren o escriban varias líneas de texto. Establezca las propiedades AcceptsTab y AcceptsReturn en true con el fin de permitir una mayor manipulación de texto en un control TextBox multilínea.

48deaakc.alert_note(es-es,VS.90).gif Nota:

Debe establecer la propiedad Multiline en true para ajustar el alto del control TextBox. Puede ajustar el alto estableciendo la propiedad Size.

Para limitar la cantidad de texto escrito en un control TextBox, establezca la propiedad MaxLength en un número de caracteres específico. Los controles TextBox se pueden utilizar también para aceptar contraseñas y otra información delicada. Es posible utilizar la propiedad PasswordChar para enmascarar caracteres escritos en una versión de una sola línea del control. Utilice la propiedad CharacterCasing para permitir al usuario escribir sólo mayúsculas, sólo minúsculas o una combinación de caracteres en mayúsculas y minúsculas en el control TextBox.

Para desplazar el contenido de TextBox hasta que el cursor (símbolo de intercalación) esté en la región visible del control, puede usar el método ScrollToCaret. Para seleccionar un intervalo de texto en el cuadro de texto, puede utilizar el método Select.

Para restringir que se escriba texto en un control TextBox, se puede crear un controlador de eventos para el evento KeyDown con el fin de validar cada carácter escrito en el control. También se puede restringir toda entrada de datos en un control TextBox; para ello, establezca la propiedad ReadOnly en true.

48deaakc.alert_note(es-es,VS.90).gif Nota:

La mayor parte de la funcionalidad del control TextBox se hereda de la clase TextBoxBase.

El uso del control TextBox con los estilos visuales habilitados provocará la manipulación incorrecta de las fuentes suplentes.

Nota de la plataforma Windows Mobile para Pocket PC, Windows Mobile para Smartphone, Windows CE:

En aplicaciones de Pocket PC, las tabulaciones en un cuadro de texto de una sola línea se muestran como paréntesis, pero se muestran con normalidad si Multiline se establece en true.

Ejemplos

En el siguiente ejemplo de código se crea un control TextBox multilínea con barras de desplazamiento verticales. En este ejemplo se utilizan las propiedades AcceptsTab, AcceptsReturn y Dock para hacer que el control de cuadro de texto multilínea sea útil para crear documentos de texto.

Visual Basic
Imports System
Imports System.Collections.Generic
Imports System.ComponentModel
Imports System.Data
Imports System.Drawing
Imports System.Linq
Imports System.Text
Imports System.Windows.Forms

Public Class Form1
    Inherits Form

    Dim textBox1 As TextBox

    Public Sub New()
        InitializeComponent()
    End Sub

    Private Sub InitializeComponent()

        Me.textBox1 = New System.Windows.Forms.TextBox()
        Me.SuspendLayout()
        ' 
        ' textBox1
        ' 
        Me.textBox1.AcceptsReturn = True
        Me.textBox1.AcceptsTab = True
        Me.textBox1.Dock = System.Windows.Forms.DockStyle.Fill
        Me.textBox1.Multiline = True
        Me.textBox1.ScrollBars = System.Windows.Forms.ScrollBars.Vertical
        ' 
        ' Form1
        ' 
        Me.ClientSize = New System.Drawing.Size(284, 264)
        Me.Controls.Add(Me.textBox1)
        Me.Text = "TextBox Example"
        Me.ResumeLayout(False)
        Me.PerformLayout()

    End Sub

End Class


C#
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

public class Form1 : Form
{
    private TextBox textBox1;

    public Form1()
    {
        InitializeComponent();
    }

    private void InitializeComponent()
    {
        this.textBox1 = new System.Windows.Forms.TextBox();
        this.SuspendLayout();
        // 
        // textBox1
        // 
        this.textBox1.AcceptsReturn = true;
        this.textBox1.AcceptsTab = true;
        this.textBox1.Dock = System.Windows.Forms.DockStyle.Fill;
        this.textBox1.Multiline = true;
        this.textBox1.ScrollBars = System.Windows.Forms.ScrollBars.Vertical;
        // 
        // Form1
        // 
        this.ClientSize = new System.Drawing.Size(284, 264);
        this.Controls.Add(this.textBox1);
        this.Text = "TextBox Example";
        this.ResumeLayout(false);
        this.PerformLayout();

    }

    [STAThread]
    static void Main()
    {
        Application.EnableVisualStyles();
        Application.SetCompatibleTextRenderingDefault(false);
        Application.Run(new Form1());
    }
}


Jerarquía de herencia

System.Object
  System.MarshalByRefObject
    System.ComponentModel.Component
      System.Windows.Forms.Control
        System.Windows.Forms.TextBoxBase
          System.Windows.Forms.TextBox
            System.Windows.Forms.DataGridTextBox
            System.Windows.Forms.DataGridViewTextBoxEditingControl
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.
Plataformas

Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98, Windows CE, Windows Mobile para Smartphone, Windows Mobile para Pocket PC

.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.
Información de versión

.NET Framework

Compatible con: 3.5, 3.0, 2.0, 1.1, 1.0

.NET Compact Framework

Compatible con: 3.5, 2.0, 1.0
Vea también

Referencia