Test Foro de elhacker.net SMF 2.1

Programación => .NET (C#, VB.NET, ASP) => Programación General => Programación Visual Basic => Mensaje iniciado por: fraktal en 3 Octubre 2006, 17:34 PM

Título: problema con formulario MDI
Publicado por: fraktal en 3 Octubre 2006, 17:34 PM
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!
Título: Re: problema con formulario MDI
Publicado por: CeLaYa en 3 Octubre 2006, 21:27 PM
para lo de las instancias puedes hacer lo siguiente


dim x as form


set x = new form1

x.show
Título: Re: problema con formulario MDI
Publicado por: CeLaYa en 3 Octubre 2006, 21:30 PM
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 ...
Título: Re: problema con formulario MDI
Publicado por: fraktal en 5 Octubre 2006, 11:29 AM
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!
Título: Re: problema con formulario MDI
Publicado por: CeLaYa en 5 Octubre 2006, 20:49 PM
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
Título: Re: problema con formulario MDI
Publicado por: fraktal en 6 Octubre 2006, 00:59 AM
Perfecto Celaya asi si me funciona. Muchas gracias. S2.