problema con formulario MDI

Iniciado por fraktal, 3 Octubre 2006, 17:34 PM

0 Miembros y 1 Visitante están viendo este tema.

fraktal

Hola, dos problemas con formularios mdi.
Como puedo hacer que nada mas abrir la aplicacion, solo aparezca el formulario padre, y ningun hijo? Es que resulta que yo entro a un proyecto nuevo y x defecto ya se genera un form. Luego agrego el MDi y le pongo al form1 (x ejemplo) la mdichild a true. Y ya esta. Si creo mas formulario hijos  y ejecuto, solo se me ve el primero. Y no soy capaz de quitarlo para que entre solo el Padre y no se carge ningun hijo hasta k se le diga. He probado a descargarlo en el form1_load, a ponerlo no visible... pero nada, si ago eso aparentenmente no carga ni el padre ni el hijo. Es curioso que si pongo un boton en el hijo que clickeando ejecute un unload me, ahhi si se keda solo el hijo, pero kisiera saber
komo entrar ya a la aplicacion sin mas formulario que el MDI.
Otra cosa. Crear una instancia de un formulario... he leido un tutorial pero no me entero. Es por ejemplo para que en el MDI tenga un menu, con una opcion d nuevo x ejemplo, y que cada vez que le pulse, me kree una instancia de un formulario que yo tenga creado... osea seria como abrir distintas sesiones d trabajo d un mismo formulario. COmo lo puedo hacer pq lo que he leido no me ha quedado muy claro.
Gracias y saludos!

CeLaYa

para lo de las instancias puedes hacer lo siguiente


dim x as form


set x = new form1

x.show
"La soledad es el elemento de los grandes talentos".
Cristina de Suecia (1626-1689) Reina de Suecia.

CeLaYa

para eso de que te abre un formulario hijo cuando intentas abrir el MDI esta raro, ¿ya checaste en las propiedades del proyecto para checar que formulario es el objeto inicial?

proyecto -> Propiedades de ...
"La soledad es el elemento de los grandes talentos".
Cristina de Suecia (1626-1689) Reina de Suecia.

fraktal

Gracias Celaya. Lo de que el form Padre salga solo , ya lo he solucionado como me has dicho. Pasaba eso que seguia estando el form1 como inicial y no el MDI padre por eso me pasaba eso. Gracias.
EN cuanto a lo de las instancias, lo he echo, pero no es exactamente lo que queria, pq solo me abre una instancia. Lo que he exo a sido crear un MDI con un menu que pulsando a una opcion (como si fuera ARCHIVO/NUEVO) ejecute lo que tu me has dicho:
dim x as form
set x = new form1
x.show
y ejecuto el proyecto, sale el formulario padre pulso sobre el menu y me abre correctamente el nuevo formulario, pero si pulso otra vez sobre el menu, deberia volverme a abrir otra vez otra instancia del menu, pero no hace nada. Si cierro el nuevo formulario y le vuelvo a dar vuelve a abrirlo, pero solo 1 siempre, y lo que quiero es que cada vez k pulse abra tantos formularios como veces le de.
Me falta x acer algo?
gracias y saludos!

CeLaYa

ya intentaste hacerlo con un arreglo


Option Explicit
Dim x() As Form
Dim Formularios As Integer

Private Sub Command1_Click()
    'Crear nueva instancia
    Formularios = Formularios + 1
    ReDim Preserve x(1 To Formularios)
    Set x(Formularios) = New Form1
    x(Formularios).Show
    x(Formularios).Caption = Formularios
End Sub

Private Sub Form_Load()
    Formularios = 1
End Sub
"La soledad es el elemento de los grandes talentos".
Cristina de Suecia (1626-1689) Reina de Suecia.

fraktal

Perfecto Celaya asi si me funciona. Muchas gracias. S2.