Como llamar a un formulario solo con el nombre en vb.net

Si desean realizar una aplicación dinámica de seguro se toparan con el problema de que no pueden instanciar sus formularios sin declararlos previamente uno a uno de la siguiente manera:

Si lo que desean es agregarle un toque mas dinámico y levantar cualquier formulario de nuestra aplicación tan solo indicando el nombre de estos (este nombre puede ser guardado en una base de datos por ejemplo). De seguro esta función resolverá su problema.

Espero sea de su utilidad

CC BY-NC-ND 4.0 Como llamar a un formulario solo con el nombre en vb.net by QualityInfoSolutions is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.

You may also like...

13 Responses

  1. Juan José dijo:

    Barbaro !!!
    Justo lo que andaba buscando !

  2. Joshyba dijo:

    Haaa pero si quiero agregar informacion a ese formulario abierto, como se haria, se puede saber cual es la instancia de ese formulario?

    • Este método solo te permitirá cambiar los datos que formen parte de las propiedades de un Form.

      Por ejemplo si quieres cambiar el text solo debes poner

      Que dato en particular quieres modificar??

  3. Daniel dijo:

    Hola, suponiendo que tengo abierto dinámicamente un formulario del cual tengo el nombre. Necesito leer sus propiedades; como puedo acceder ??? es decir, con el nombre guardado en una variable string debo leer la instancia del formulario y acceder a sus propiedades; mil gracias si me pueden ayudar

    • Cualquier propiedad del formulario abierto la puedes acceder desde la variable frm seguida de un . ejemplo frm.Name = nombre formulario:
      Podrás acceder a cualquier datos de un formulario normal nombre, tamaño, letras, estilos, ahora si quieres acceder a propiedades personalizadas por ti, es un poco mas complejo ya que este método dinámico se utiliza básicamente para abrir formularios, no para otra cosa. Saludos

      • Jaime dijo:

        ejemplo: el formulario que abrimos contiene una table. al poner:

        frm.TablaBindingSource.RemoveCurrent()

        me da un error porque indica que el TablaBindingSource no es miembro del formulario frm.

        Help!!

        • Este tipo de llamadas dinámicas solo puede llamar a métodos genéricos de un Form, si necesitas llamar al método tienes que instanciarlo normalmente TuForm form = new TuForm(); form.TablaBindingSource.RemoveCurrent(); o bien mediante un cast al formulario dinamico dada una condición, como por ejemplo el nombre if(form.Name == ‘TuForm’){ TuForm frm = (TuForm) form;}.

          Saludos

  4. Juan Leguizamon dijo:

    ¡Gracias!

  5. EBERT dijo:

    tengo la siguiente consulta, he llamado a un formulario dinamicamente en VB -> form1,
    la cuestión es que en el form1 tengo un textbox y un boton que llama a un form2 y en el form2 tengo un DataGridView cargado con información;
    al dar doble clic en alguna fila del datagridview este deberia pasar la información al textbox del form1.
    Nota: si al form1 no lo llamo de forma dinamica me corre normal, pero el problema es cuando lo llamo de forma dinamica no pasa la informacion de la fila seleccionada del form1 al textbox del form2.
    ¿Cómo hago para pasar información del form2 al form1 que fue llamado dinámicamente?.

    • Estimado, no entiendo para que lo haces de manera dinamica si son formularios conocidos. En este tipo de casos es más sencillo hacerlo de forma tradicional y si quieres compartir información entre formularios puedes utilizar eventos personalizados.

      Saludos

  6. Gonzalo Malagón Pérez dijo:

    Hola, buen día, inicialmente te agradezco el aporte, excelente, el motivo de la consulta es el siguiente, en una tabla de base de datos, tengo el nombre del formulario y una especie de permisos para realizar eventos, son bastantes formularios, por eso es genial tu aporte, ahora como debiera hacer?
    por ejemplo:
    frm.nombredelboton.enabled=tabla(0)(7) ‘esto según la consulta a la base de datos

    Cabe indicar que soy primiparo, estoy iniciando en visual basic 2017

Agregar un comentario

Su dirección de correo no se hará público. Los campos requeridos están marcados *

Contáctenos