Agregar código al control de usuario
Actualización: noviembre 2007
En esta lección, aprenderá a agregar código al control de usuario para mostrar el nombre completo y exponer nuevas propiedades.
Como los controles estándar, los controles de usuario tienen propiedades, métodos y eventos. Como desarrollador, escribirá código para controlar los eventos del control y decidirá qué propiedades se expondrán al usuario del control.
Controlar eventos en un control de usuario
Para que el control de usuario sea de utilidad, tendrá que escribir algún código que controle los eventos del control. Un procedimiento de control de eventos de un control de usuario no es distinto del que se escribe para un formulario o un control.
En este ejemplo, escribirá un procedimiento de evento que actualizará la etiqueta FullName con el contenido de los cuadros FirstName, MiddleName y LastName según escriba, con el controlador de eventos TextChanged.
Inténtelo
Para agregar código a un control de usuario
Abra el proyecto NamesUserControl que creó en la lección anterior. Si no lo guardó, primero deberá regresar a la lección anterior, Comprender el Diseñador de controles de usuario, y realizar hasta el final los procedimientos de esa lección.
En el Explorador de soluciones, seleccione NamesControl.vb y en el menú Ver elija Código.
En el Editor de código, agregue el siguiente código para el controlador de eventos FirstName_TextChanged.
Private Sub FirstName_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles FirstName.TextChanged, MiddleName.TextChanged, LastName.TextChanged ' Display the contents of the three text boxes in the label. FullName.Text = FirstName.Text & " " & MiddleName.Text & " " & LastName.Text End Sub
Presione F5 para ejecutar el programa. Se abrirá el UserControl TestContainer y se mostrará el control de usuario.
Escriba el nombre, segundo nombre y apellido en los tres cuadros de texto; según escriba, se mostrará el nombre en la etiqueta FullName.
Si se fija en el código que ha especificado antes, observará que la cláusula Handles de la declaración controla el evento TextChanged de los tres controles TextBox. No importa qué cuadro de texto escriba primero, siempre se actualizará la etiqueta FullName según escriba.
Exponer las propiedades de un control de usuario
Las propiedades de los controles estándar permiten establecer y recuperar valores de un control en tiempo de diseño y en tiempo de ejecución. También deseará que determinadas propiedades del control de usuario estén disponibles para que pueda establecerlas en la ventana Propiedades durante el diseño y hacer referencia a ellas en el código.
Exponer propiedades en un control de usuario es muy similar a exponer propiedades en una clase, la diferencia principal es que puede exponer también las propiedades de los controles contenidos en el control de usuario. Como sucede con las clases, se declara una propiedad y se agrega código a los procedimientos Get y Set. Si expone una propiedad de un control contenido, no tendrá que declarar una variable privada para almacenar el valor, la propiedad del control lo almacena automáticamente.
Tal y como está ahora, no hay modo de recuperar el texto que se especifica en los controles FirstName, MiddleName y LastName de la etiqueta FullName. Necesita exponer los valores como propiedades para que el control resulte útil. Dado que no desea que el valor de la etiqueta FullName se modifique fuera de su propio código, deseará exponerlo como una propiedad de sólo lectura.
Inténtelo
Para agregar propiedades
En el Editor de código, agregue el código siguiente para exponer los valores FirstName, MiddleName y LastName como propiedades.
Property FirstNameText() As String Get Return FirstName.Text End Get Set(ByVal value As String) FirstName.Text = value End Set End Property Property MiddleNameText() As String Get Return MiddleName.Text End Get Set(ByVal value As String) MiddleName.Text = value End Set End Property Property LastNameText() As String Get Return LastName.Text End Get Set(ByVal value As String) LastName.Text = value End Set End Property
Agregue el código siguiente para exponer el valor de la etiqueta FullName como una propiedad de sólo lectura.
ReadOnly Property FullNameText() As String Get Return FullName.Text End Get End Property
Presione F5 para ejecutar el programa.
En el UserControl TestContainer, desplácese a la parte inferior de la cuadrícula Propiedades y seleccione la propiedad FirstNameText. Escriba su nombre y, a continuación, seleccione la propiedad FullNameText; el cuadro de texto FirstName debería mostrar el nombre y la propiedad FullNameText debería coincidir.
Pruebe a cambiar algunas de las demás propiedades en la cuadrícula Propiedades y el propio control para ver cómo se relacionan. Esto es lo que un usuario del control experimentará en tiempo de diseño.
En el menú Archivo, elija Guardar todo para guardar el trabajo.
Pasos siguientes
En esta lección, ha visto cómo controlar los eventos de un control de usuario y cómo exponer algunas de sus propiedades. Puede obtener más información sobre las propiedades en Información detallada: agregar propiedades con valores con nombre o puede continuar con la siguiente lección y aprender a utilizar la clase que creó.
Siguiente lección: Probar un control de usuario
Vea también
Tareas
Agregar controles al control de usuario
Otros recursos
Objetos visibles: crear el primer control de usuario