Capturar eventos con reflection

20/12/2005 - 13:19 por Santiago Barro | Informe spam
Hola a todos,
tengo un aplicación que carga algunas pantallas auxiliares a partir de
librerias compiladas aparte. Todo funciona perfectamente y estas pantallas
quedan totalmente integradas.

Lo que me gustaría es el poder capturar eventos de la aplicación principal
desde estas pantallas auxiliares.
Por ejemplo, creo una pantalla auxiliar con unos datos auxiliares y me
gustaría que esta pantalla se abriera al dispararse el evento "Load" del
form "Clientes".
Sé que podría introducir el código desde la aplicación principal, pero
prefiero que no sea así, sino que sea la propia pantalla auxiliar la que
pueda capturar cualquier evento de la aplicación principal.

He hecho algunas pruebas. En la pantalla auxiliar inserto este codigo:


Friend Sub Inicio()
'Captura un evento de la aplicación principal
Try
Dim r As System.Reflection.Assembly =
Reflection.Assembly.GetEntryAssembly
Dim Tipo As Type = r.GetType("Diseño.frmClientes")
Dim evento As System.Reflection.EventInfo =
Tipo.GetEvent("Load")
Dim Obj As Object = Activator.CreateInstance(Tipo)
evento.AddEventHandler(Obj, Prueba)
Catch ex As Exception
MsgBox("Error al capturar el evento." & vbNewLine & _
"Detalle: " & ex.Message, MsgBoxStyle.Critical, "")
End Try
End Sub
Private Function Prueba()
MsgBox("Prueba con exito")
End Function



Mediante este codigo me dispara correctamente la función "Prueba", pero lo
hace enseguida y no cuando se abre el form. ¿Que estoy haciendo mal?

Muchas gracias y un saludo
Santiago Barro
 

Leer las respuestas

#1 Carlos Gómez
20/12/2005 - 14:15 | Informe spam
Prueba ha usar el evento Activate que se produce inmediatamente despues
de finalizar la carga del formulario

Preguntas similares