Ver Mensaje Individual
  #2 (permalink)  
Antiguo 01/03/2006, 21:06
Avatar de xknown
xknown
 
Fecha de Ingreso: diciembre-2004
Ubicación: Cusco - Perú
Mensajes: 2.248
Antigüedad: 19 años, 5 meses
Puntos: 7
Aquí una forma simple de hacerlo, supongo que no necesita explicación:
Código:
public Hashtable instances = new Hashtable();
public Form Open(string type)
{
    try
    {
        Form form = instances[type] as Form;
        if (form == null || form.IsDisposed)
        {
            form = Activator.CreateInstance(null, type).Unwrap() as Form;
            instances[type] = form;
        }
        if (this.IsMdiContainer)
            form.MdiParent = this;
        form.Activate();
        form.Show();
        return form; // Por si quieres hacer algo con el formulario
    }
    catch (Exception ex)
    {
        // Maneja el error
        return null;// ?
    }
}

private void OptionClick(object sender, System.EventArgs e)
{
    MenuItem mi = sender as MenuItem;
    // Se asume que en mi.Text está el tipo del formulario, Ej: MyCompany.MyApp.MyClass
    Open(mi.Text);
}
Saludos
PS. El paso de c# a vb.net queda como tarea
__________________
Alex Concha
Buayacorp - Programación y Diseño