Tutorial: Crear un control de usuario de Windows Forms que admita el enlace de datos simple
Cuando muestra datos en formularios de aplicaciones para Windows, puede elegir controles existentes en el Cuadro de herramientas o puede crear controles personalizados si la aplicación requiere funcionalidad que no está disponible en los controles estándar. En este tutorial se muestra cómo crear un control que implementa DefaultBindingPropertyAttribute. Los controles que implementan DefaultBindingPropertyAttribute pueden contener una propiedad que se puede enlazar a los datos. Tales controles son similares a TextBox o CheckBox.
Para obtener más información sobre la creación de controles, vea Desarrollar controles de formularios Windows Forms en tiempo de diseño.
Al crear controles para el uso en escenarios de enlace de datos, necesita implementar uno de los atributos de enlace de datos siguientes:
Uso de atributo de enlace de datos |
---|
Implemente el DefaultBindingPropertyAttribute en controles sencillos, como un TextBox, que muestra una única columna (o propiedad) de datos. (Este proceso se describe en esta página del tutorial.) |
Implemente el ComplexBindingPropertiesAttribute en controles, como DataGridView, que muestra listas (o tablas) de datos. Para obtener más información, vea Tutorial: Crear un control de usuario de Windows Forms que admita el enlace de datos complejo. |
Implemente el LookupBindingPropertiesAttribute en controles, como ComboBox, que muestren listas (o tablas) de datos pero que también necesiten presentar una única columna o propiedad. Para obtener más información, vea Tutorial: Crear un control de usuario de Windows Forms que admita el enlace de datos de búsqueda. |
Este tutorial crea un control simple que muestra datos de una columna única de una tabla. En este ejemplo se utiliza la columna Phone de la tabla Customers de la base de datos de ejemplo Northwind. El sencillo control de usuario mostrará los números de teléfono del cliente en un formato de número telefónico estándar utilizando MaskedTextBox y estableciendo la máscara en un número de teléfono.
Durante este tutorial aprenderá a:
Crear una nueva aplicación para Windows.
Agregue un nuevo Control de usuario a su proyecto.
Diseñe visualmente el control de usuario.
Implemente el atributo DefaultBindingProperty.
Cree un conjunto de datos con el Asistente para la configuración de orígenes de datos.
Establezca la columna Phone en la ventana Orígenes de datos para utilizar el nuevo control.
Cree un formulario para mostrar los datos en el nuevo control.
Requisitos previos
Para poder completar este tutorial, necesitará:
- Acceso a la base de datos de ejemplo Northwind. Para obtener más información, vea Cómo: Instalar bases de datos de ejemplo.
Crear una aplicación para Windows
El primer paso es crear una Aplicación para Windows.
Para crear el nuevo proyecto de Windows
En Visual Studio, en el menú Archivo cree un nuevo Proyecto.
Dé al proyecto el nombre SimpleControlWalkthrough.
Seleccione Aplicación para Windows y haga clic en Aceptar. Para obtener más información, consulte Crear aplicaciones basadas en Windows.
El proyecto SimpleControlWalkthrough se crea y se agrega al Explorador de soluciones.
Agregar un control de usuario al proyecto
Este tutorial crea un control sencillo de enlace de datos a partir de un Control de usuario, por lo que debe agregar un elemento Control de usuario al proyecto SimpleControlWalkthrough.
Para agregar un control de usuario al proyecto
En el menú Proyecto, elija Agregar control de usuario.
Escriba PhoneNumberBox en el área Nombre y haga clic en Agregar.
El control PhoneNumberBox se agrega al Explorador de soluciones y se abre en el diseñador.
Diseñar el control PhoneNumberBox
Este tutorial expande el control MaskedTextBox existente para crear el control PhoneNumberBox.
Para diseñar el control PhoneNumberBox
Arrastre un control MaskedTextBox del Cuadro de herramientas hasta la superficie de diseño del control del usuario.
Seleccione la etiqueta inteligente en el control MaskedTextBox que acaba de arrastrar y elija Establecer máscara.
Seleccione Número de teléfono en el cuadro de diálogo Máscara de entrada y haga clic en Aceptar para establecer la máscara.
Agregar el atributo de enlace de datos requerido
Para controles sencillos que admiten el enlace de datos, implemente DefaultBindingPropertyAttribute.
Para implementar el atributo DefaultBindingProperty
Cambie el control PhoneNumberBox a vista de código. (En el menú Ver, elija Código.)
Reemplace el código de PhoneNumberBox con lo siguiente:
<System.ComponentModel.DefaultBindingProperty("PhoneNumber")> Public Class PhoneNumberBox Public Property PhoneNumber() As String Get Return MaskedTextBox1.Text End Get Set(ByVal value As String) MaskedTextBox1.Text = value End Set End Property End Class
using System.Windows.Forms; namespace CS { [System.ComponentModel.DefaultBindingProperty("PhoneNumber")] public partial class PhoneNumberBox : UserControl { public string PhoneNumber { get{ return maskedTextBox1.Text; } set{ maskedTextBox1.Text = value; } } public PhoneNumberBox() { InitializeComponent(); } } }
En el menú Generar, elija Generar solución.
Crear un origen de datos de su base de datos
En este paso se utiliza el Asistente para la configuración de orígenes de datos con el fin de crear un origen de datos basado en la tabla Customers de la base de datos de ejemplo Northwind. Debe tener acceso a la base de datos de ejemplo Northwind para crear la conexión. Para obtener información sobre la configuración de la base de datos de ejemplo Northwind, vea Cómo: Instalar bases de datos de ejemplo.
Para crear el origen de datos
En el menú Datos, haga clic en Mostrar orígenes de datos.
En la ventana Orígenes de datos, seleccione Agregar nuevo origen de datos para iniciar el Asistente para configuración de orígenes de datos.
Seleccione Base de datos en la página Elegir un tipo de datos de origen y luego haga clic en Siguiente.
En la página Elegir la conexión de datos realice una de las siguientes operaciones:
Si una conexión de datos a la base de datos de ejemplo Northwind está disponible en la lista desplegable, selecciónela.
O bien
Seleccione Nueva conexión para iniciar el cuadro de diálogo Agregar o modificar conexión. Para obtener más información, vea Agregar/Modificar conexión (Cuadro de diálogo, General).
Si su base de datos requiere una contraseña, seleccione la opción para incluir datos confidenciales y haga clic en Siguiente.
Haga clic en Siguiente en la página Guardar la cadena de conexión en el archivo de configuración de la aplicación.
Expanda el nodo Tablas en la página Elegir los objetos de base de datos.
Seleccione la tabla Customers y haga clic en Finalizar.
NorthwindDataSet se agrega al proyecto y la tabla Customers aparece en la ventana Orígenes de datos.
Establecer la columna Phone para utilizar el control PhoneNumberBox
Dentro de la ventana Orígenes de datos puede establecer el control que se va a crear antes de arrastrar elementos a un formulario.
Para establecer la columna de teléfono para enlazarse al control PhoneNumberBox
Abra Form1 en el diseñador.
Expanda el nodo Customers en la ventana Orígenes de datos.
Haga clic en la flecha de lista desplegable en el nodo Customers y elija Detalles de la lista de control.
Haga clic en la flecha de lista desplegable en la columna Phone y elija Personalizar.
Seleccione PhoneNumberBox de la lista de Controles asociados en el cuadro de diálogo Opciones de personalización de la interfaz de usuario de datos.
Haga clic en la flecha de lista desplegable en la columna Phone y elija PhoneNumberBox.
Agregar controles al formulario
Puede crear los controles enlazados a datos arrastrando elementos desde la ventana Orígenes de datos al formulario.
Para crear controles enlazados en el formulario
Arrastre el nodo Customers principal de la ventana Orígenes de datos al formulario y compruebe que se utiliza el control PhoneNumberBox para mostrar los datos de la columna Phone.
Los controles enlazados a datos con etiquetas descriptivas aparecen en el formulario, junto con una barra de herramientas (BindingNavigator) para navegar por los registros. En la bandeja de componentes aparecen NorthwindDataSet, CustomersTableAdapter, BindingSource y BindingNavigator.
Ejecutar la aplicación
Para ejecutar la aplicación
- Presione F5 para ejecutar la aplicación.
Pasos siguientes
Dependiendo de los requisitos de la aplicación, hay varios pasos que se pueden realizar después de crear un control que admite el enlace a datos. Algunos de los pasos habituales incluyen:
Colocar sus controles personalizados en una biblioteca de controles por lo que puede volver a utilizarlos en otras aplicaciones. Para obtener más información, vea Windows Control Library Template.
Crear controles que admiten escenarios de enlace de datos más complejos. Para obtener más información, vea Tutorial: Crear un control de usuario de Windows Forms que admita el enlace de datos complejo y Tutorial: Crear un control de usuario de Windows Forms que admita el enlace de datos de búsqueda.
Vea también
Tareas
Cómo: Establecer el control que se creará al arrastrar desde la ventana de orígenes de datos
Conceptos
Enlazar controles de Windows Forms a datos en Visual Studio
Enlazar controles a los datos en Visual Studio
Otros recursos
Información general de las aplicaciones de datos en Visual Studio
Conectarse a datos en Visual Studio
Preparar la aplicación para recibir datos