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

Publicado en Visual Basic .Net
10 Comentarios en “Como llamar a un formulario solo con el nombre en vb.net
  1. Juan José dice:

    Barbaro !!!
    Justo lo que andaba buscando !

  2. Joshyba dice:

    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 dice:

    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 dice:

        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 dice:

    ¡Gracias!

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*