viernes, noviembre 22, 2024

Utilizando la Herencia en los Mantenimientos (Forms) – Parte 2

En este ejemplo vamos a continuar el ejemplo 1 publicado hace un mes, y ahora vamos a indicar como poder ejecutar el evento de los botones desde el form que hereda a la forma base.

Descargar solución Herencia-En-Forms-2.zip

En la forma base vamos indicarle dos eventos públicos Aceptar y Cancelar que luego podrán ser invocados por la forma que herede de FormaBase

En FormaBase.vb

#Region » Eventos Públicos «

'Estos eventos permiten que puedan ser llamados desde la
'forma que está heredando
'revisar el evento de los botones
Public Event Aceptar()
Public Event Cancelar()

#End Region

Luego en el evento de los botones Aceptar y Cancelar en la Forma Base le indicamos lo siguiente

#Region » Manejo de Eventos «

Private Sub btnAceptar_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles btnAceptar.Click
'aqui se le indica que invoque el evento Aceptar que deberia
'ser invocado en la forma que hereda
RaiseEvent Aceptar()
End Sub

Private Sub btnCancelar_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles btnCancelar.Click
'aqui se le indica que invoque el evento Cancelar que podria
'ser invocado en la forma que hereda
RaiseEvent Cancelar()
Me.Close()
End Sub

#End Region

Como podemos observar en el evento de los dos botones llamamos al evento público correspondiente, que va a ser el que nos permita ejecutarlos en la forma que hereda.

Ahora en la forma Mi_Mantenimiento.vb le indicamos que herede de FormaBase

Imports System.Windows.Forms

Public Class Mi_Mantenimiento
Inherits FormaBase

Luego en los eventos de Mi_Mantenimiento podremos encontrar los dos eventos públicos de la forma base y los podremos invocar seleccionandolos del combo de eventos en la parte superior

Para poder utilizarlos de la siguiente forma en nuestro resultado final

Private Sub Mi_Mantenimiento_Aceptar() Handles MyBase.Aceptar
MsgBox(«Usted presionó Aceptar»)
End Sub

Private Sub Mi_Mantenimiento_Cancelar() Handles MyBase.Cancelar
MsgBox(«Usted presionó Cancelar»)
End Sub

Ahora podremos tener aplicaciones uniformes que puedan cumplir estándares de calidad mucho más altos.

Descargar solución Herencia-En-Forms-2.zip

Artículo anterior
Artículo siguiente
Roy Rojas
Roy Rojashttp://www.dotnetcr.com
Con más de 20 años de experiencia en programación, experto en lenguajes .NET, VB, C#, ASP.NET, Xamarin, XCode, DBA en SQL Server. Creador de dotnetcr.com, sitio web para programadores en español. royrojas.com | dotnetcr.com | GitHub
Roy Rojas
Roy Rojashttp://www.dotnetcr.com
Con más de 20 años de experiencia en programación, experto en lenguajes .NET, VB, C#, ASP.NET, Xamarin, XCode, DBA en SQL Server. Creador de dotnetcr.com, sitio web para programadores en español. royrojas.com | dotnetcr.com | GitHub