INVOCAR UN FORMULARIO USANDO REFLECTION
Hola a tod@s.
Aqui os traigo un metodo para invocar formularios que estan en otra DLL usando REFLECTION de .NET.
Aqui el video del ejemplo…..
Para ello lo primero que hemos de tener es un ensamblado o Exe con el formulario creado.
Para el ejemplo os dejo una dll con un form que podeis descargar aqui.
Pues bien. ahora lo que hacemos es importar el espacio de nombres. de reflection.
1 2 |
Imports System.Reflection.Assembly Imports System.Reflection |
una vez tengamos hecho esto la cosa es bien sencilla.
Explico todo seguido ya que serán solo 3 lineas de codigo las necesarias para realizar la invocacion.
la primera linea crea una variable ensamblado y le indica a traves del load el fichero.
la segunda linea invoca la instancia a traves del espacio de nombres y la asigna a un Object.
y la tercera muestra el form
aqui el codigo:
1 2 3 |
Dim FAssembly As Assembly = Assembly.LoadFile("C:\Temp\FormReflection.dll") Dim loader = FAssembly.CreateInstance("FormReflection.Form1", True, BindingFlags.CreateInstance, Nothing, Nothing, Nothing, Nothing) loader.showdialog() |
c Sustituye la ruta por la que estes utilizando para cargar el formulario.
Si no conoces el espacio de nombres, podras usar .GetTypes() para que te devuelva los que estan disponibles.
Un Saludo y espero que te sirva .
Un saludo.