Ver Mensaje Individual
  #3 (permalink)  
Antiguo 21/07/2010, 09:12
Avatar de zick
zick
 
Fecha de Ingreso: mayo-2007
Ubicación: Los Angeles - Chile
Mensajes: 168
Antigüedad: 17 años, 10 meses
Puntos: 2
Respuesta: ¿Cómo abrir MdiChildren con nombre de ventana como "variable"?

Muchas gracias gedarufi, me haz mostrado el camino a lo que andaba buscando.

La verdad es que utilize Reflection, y quedó bastante bueno. Anexo el código de como lo hice para alguien que lo pueda necesitar.

Código:
Imports System.Windows
Imports System.Windows.Forms

Public class form1

Private ass As System.Reflection.Assembly

Private Sub from1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        ass = System.Reflection.Assembly.GetExecutingAssembly()
End Sub

Private Sub BtnContinar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnContinar.Click
        Dim s As String = Me.LbDestino.Text 'el nombre del formulario de forma "SISTEMA.formulario"
        ' creamos un tipo a partir del nombre
        Dim t As Type = ass.GetType(s)
        ' instanciamos un nuevo objeto en la memoria
        Dim o As Object
        ' por si hemos seleccionado algo que no es una clase
        Try
            o = Activator.CreateInstance(t)
        Catch ex As Exception
            MessageBox.Show(ex.Message, "Error al crear la instancia")
            Exit Sub
        End Try
        If Not (TypeOf o Is Form) Then
            MessageBox.Show(s & ", no es un formulario", "Problema al crear formulario")
            Exit Sub
        End If

        Dim frm As Form = DirectCast(o, Form)
        frm.MdiParent = formularioprincipal
        frm.Show()
    End Sub
End class
Saludos a todos los visitantes y gracias nuevamente
__________________
SZC - Aplicaciones y Servicios.
http://www.szc.cl
Los Angeles - Chile