Normas del foro

Curso Hacker
Bienvenido(a), Visitante. Favor de ingresar o registrarse.
¿Perdiste tu email de activación? - Diciembre 04, 2008, 01:41:04
Inicio Ayuda Ingresar Registrarse
Visita: Articulos - Juegos Gratis - Da Foros

Comunidad Underground Hispana  |  Programacion  |  Programación  |  Visual Basic y Net (Moderador: ANYD00M)  |  Tema: AYUDA: MDIForm 0 Usuarios y 1 Visitante están viendo este tema. « anterior próximo »
Páginas: [1] Ir Abajo Imprimir
Autor Tema: AYUDA: MDIForm  (Leído 187 veces)
guille221191
Colaborador
*****
Desconectado Desconectado

Mensajes: 586


DIOS NO JUEGA A LOS DADOS- A. Einstein


Ver Perfil Email
« en: ſeptiembre 15, 2007, 01:49:06 »

juegos gratis
Hola. Estoy tratando de hacer un programa que empiece con un MDIForm y t pertmita abrir un for ( con MDIChild= true) dentro de él, pero que solo te permita tener uno abierto. He tratado de hacerlo con load y unload pero he fracasado en el intento Cheesy . Esto ha sido a lo máximo que he llegado, y me da muchos errores respecto a mi idea:

Private Sub MDIForm_Load()
Form1.Visible = False
End Sub

Private Sub menuNuevo_Click()
If Form1.Visible = True Then
MsgBoxRepetido = MsgBox("¡No puedes abrir dos archivos a la vez!", vbOK, "ERROR")
Else
Form1.Visible = True
End If
End Sub

Como puedo hacer algo como lo que he explicado anteriormente??


GRACIAS

PD: Si vais a escribir algun código nuevo, porfavor, explicadlo lo más detalladamente que podais, así lo asimilaré mejor, gracias
En línea

[flash width=400 height=200]http://usuarios.lycos.es/guille221191/firma.swf[/flash]
Tughack
Habitual
*****
Desconectado Desconectado

Mensajes: 156


[sNipeR-]


Ver Perfil
« Respuesta #1 en: ſeptiembre 15, 2007, 03:36:12 »

El codigo k has puesto solo sirve para 'Form1'...

Acaso tienes mas de un form en tu proyecto? Se solo tienes el form 1 solo necesitas esto:

Private Sub mnuNuevo_Click()
    Form1.Visible = True
End Sub

Por clicares el menu mas de una vez no hay problema... el form kedara siempre visible.

Salu2
En línea

Tughack aka sNipeR-

if(you==lammer){
    destroy(you);
}

guille221191
Colaborador
*****
Desconectado Desconectado

Mensajes: 586


DIOS NO JUEGA A LOS DADOS- A. Einstein


Ver Perfil Email
« Respuesta #2 en: ſeptiembre 15, 2007, 04:23:28 »

Ya sé q como solo hay uno en ese sentido no habrá problema, pero es que quiero ir poco a poco ampliando sus opciones y una de ellas sera que se pueda trabajar con más de un form a la vez. POr eso quiero q exista esa ópción, me podeis ayudar a conseguilo???


GRACIAS
En línea

[flash width=400 height=200]http://usuarios.lycos.es/guille221191/firma.swf[/flash]
Tughack
Habitual
*****
Desconectado Desconectado

Mensajes: 156


[sNipeR-]


Ver Perfil
« Respuesta #3 en: ſeptiembre 15, 2007, 12:21:25 »

Código:
Private Sub MDIForm_Load()
    Form1.Visible = True
End Sub

Private Sub mnuNuevo_Click()
    Me.ActiveForm.Visible = False
    Form2.Visible = True
End Sub

Salu2 Wink
En línea

Tughack aka sNipeR-

if(you==lammer){
    destroy(you);
}

guille221191
Colaborador
*****
Desconectado Desconectado

Mensajes: 586


DIOS NO JUEGA A LOS DADOS- A. Einstein


Ver Perfil Email
« Respuesta #4 en: ſeptiembre 15, 2007, 12:58:47 »

Creo q no me he explicado bien. Yo tengo el MDI y el form1, unicamente. Pero quiero hacer como si el form1 fueran múltiples forms, me explico:
Cuando el user le de a abrir aparecedería el form1 acoplado al MDI, cuando lo guarde, cierre,... desaparecerá y posteriormente si vuelve a pulsar en abrir un nuevo documento, aparecerá otrra vez "vacio", aparentando ser varios forms. No se si me comprendes. La cuestión es que cuando lo cierra el user la propiedad visible no pasa a false, por lo que a traves de esa propiedad no puedo controlar si tiene o no abierto el form, por lo que si intenta abrir otro no le puedo indicar q solo puede abrir uno.


Otra posibiliad sería crear indefinidos forms atraves del código con ciertas características( un text box que lo ocupe enteramente, por ejemplo), y esto, aunque sería mucho más interesante, ya que permitiría tener varios forms abiertos a la vez, me supono un problema, que no tengo ni  la más remota idea de como se puede hacer. Si os pasa como a mí, que esta opción os parece más lógica e interesante, me podeis decir como hacerlo?? ( de todos modos, aunque solo fuera por mera curiosidad o por el aprendizaje, también me gustaría saber como se hace de la otra manera).


GRACIAS
En línea

[flash width=400 height=200]http://usuarios.lycos.es/guille221191/firma.swf[/flash]
Tughack
Habitual
*****
Desconectado Desconectado

Mensajes: 156


[sNipeR-]


Ver Perfil
« Respuesta #5 en: ſeptiembre 15, 2007, 01:37:15 »

aaah no te havias explicado nada bien xD

Entonces solo necesitas esto:

Private Sub mnuNuevo_Click()
    Unload Form1
    Form1.Show
End Sub

Tambien puedes poner la propriedade AutoShowChild = false.

De esta forma se cargara el forumlario de nuevo, borrando kualkier dato insertado.

Creo k es esto k kieres, sino mejor hablamos por IMs k se esta llenando mucho por mal entiendidos xD

Salu2
En línea

Tughack aka sNipeR-

if(you==lammer){
    destroy(you);
}

guille221191
Colaborador
*****
Desconectado Desconectado

Mensajes: 586


DIOS NO JUEGA A LOS DADOS- A. Einstein


Ver Perfil Email
« Respuesta #6 en: ſeptiembre 15, 2007, 01:57:45 »

ok, tienes razón, por IM.
En línea

[flash width=400 height=200]http://usuarios.lycos.es/guille221191/firma.swf[/flash]
Tughack
Habitual
*****
Desconectado Desconectado

Mensajes: 156


[sNipeR-]


Ver Perfil
« Respuesta #7 en: ſeptiembre 16, 2007, 05:46:34 »

Solucion final:

Private Sub mnuNuevo_Click()
    If Me.ActiveForm Is Nothing Then
        Form1.Show
    Else
        MsgBox "2 forms"
    End If
End Sub

Salu2  Grin
En línea

Tughack aka sNipeR-

if(you==lammer){
    destroy(you);
}

Páginas: [1] Ir Arriba Imprimir 
Comunidad Underground Hispana  |  Programacion  |  Programación  |  Visual Basic y Net (Moderador: ANYD00M)  |  Tema: AYUDA: MDIForm « anterior próximo »
Ir a:  


Ranking-Hits
Powered by SMF 1.1.7 | SMF © 2006-2007, Simple Machines LLC