lunes, 30 de abril de 2012

05 - Controles de Usuario

NOTA: Ante todo explicar que este manual es un ejercicio completo, por lo que recomiendo que si desena estudiarlo partan desde el principio

Los controles de usuario se definen para reutilizar en diversos formularios, estos controles de usuario funcionan bajo el concepto de reutilización de funcionalidad. Para crear un control de usuario.

  1. Agregar un nuevo elemento a la solución.
  1. Seleccionar plantilla de control de usuario web y definir este archivo con el nombre de CalculadoraControl.ascx, incluyendo los siguientes controles:

lblPimero, Text = Primer Número.

lblSegundo, Text = Segundo Número

txtPrimero

txtSegundo

btnCalcular, Text = Calcular.

Quedando de la siguiente forma:


- Crear un formulario con el nombre frmCalcular.


- Agregar el control de usuario CalculadoraControl.ascx al formulario frmCalcular.aspx

-
Agregar al formulario frmCalcular un Label.

Existen dos formas de definir el lanzamiento de eventos para que sean capturados en las páginas principales a las que se va a anexar el control, estas son: Utilizando Propiedades y Utilizando delegados y eventos.


Propiedades

Crearemos una propiedad pública dentro del control CalculadoraControl.ascx con las siguientes líneas de código:

Public ReadOnly Property resultado()

Get

Dim uno As Integer = Integer.Parse(Me.txtPrimero.Text)

Dim dos As Integer = Integer.Parse(Me.txtSegundo.Text)

Dim res As Integer = uno + dos

Return res

End Get

End Property

Agregar el control a un nuevo formulario y definir este como formulario de inicio, el formulario tendrá el nombre de frmCalcular.aspx.

En el método que captura el evento load del formulario frmCalcular.aspx, agregar las siguientes líneas de código

If Page.IsPostBack Then

Dim res As Integer = Me.CalculadoraControl1.resultado

Me.Label1.Text = "El resultado es " + res.ToString()

End If


Utilizando Eventos y delegados.

Antes de realizar los cambios para trabajar con eventos y delegados, debemos comentariar la propiedad definida en el control antes creado.

  1. Dentro del editor de código del control CalculadoraControl agregaremos las siguientes líneas de código:

Public Delegate Sub MiResultadoHandler(ByVal resultado As Integer)

  1. Ahora, crearemos una variable de tipo evento que será del tipo delegado, como se muestra a continuación:

Public Event MiResultado As MiResultadoHandler

  1. En el método que captura el evento clic del botón btnCalcular, agregar las siguientes líneas de código:

Dim uno As Integer = Integer.Parse(Me.txtPrimero.Text)

Dim dos As Integer = Integer.Parse(Me.txtSegundo.Text)

Dim res = uno + dos

RaiseEvent MiResultado(res)

  1. En el formulario frmCalcular.aspx, en el método que captura el evento load del mismo, agregar las siguientes líneas de código:

AddHandler CalculadoraControl1.MiResultado, AddressOf ObtenerResultado

Crearemos el siguiente método que cargará la información al label que se ha incluido:

Public Sub ObtenerResultado(ByVal res As Integer)

Me.Label1.Text = "El resultado es " + res.ToString()

End Sub

No hay comentarios: