OCULTAR EL FORMULARIO PRINCIPAL

07/06/2006 - 00:47 por Faiverlgr | Informe spam
Buen día,
En una aplicación VB, necesito cerrar el formulario principal que en el
momento esté activo, pero no sé cómo referirme a él. Sucede que si lo llamo
por su nombre, no siempre es el mismo, entonces me quiero referir a él cual
sea, para ocultarlo ó cerrarlo.
Gracias
FAIVERLGR- BOGOTÁ D.C.- COLOMBIA

Preguntas similare

Leer las respuestas

#1 Héctor Miguel
07/06/2006 - 09:09 | Informe spam
hola, Faiverlgr !

En una aplicacion VB, necesito cerrar el formulario principal que en el momento este activo, pero no se cemo referirme a el.
Sucede que si lo llamo por su nombre, no siempre es el mismo, entonces me quiero referir a el cual sea, para ocultarlo o cerrarlo.



prueba definiendo una variable 'global' de tipo string y que cada formulario se encargue...
a) de 'llenarla' con su nombre [p.e. al activarse y/o mostrarse]
b) de 'vaciarla' [p.e. al desactivarse y/o terminarse] -?-

saludos,
hector.
Respuesta Responder a este mensaje
#2 Faiverlgr
07/06/2006 - 20:06 | Informe spam
Gracias Hector
Me podrías dar un ejemplo para declarar la variable global?
No sé cómo referirme a ésta para hacer que el formulario se cierre.


"Héctor Miguel" escribió en el mensaje
news:
hola, Faiverlgr !

En una aplicacion VB, necesito cerrar el formulario principal que en el
momento este activo, pero no se cemo referirme a el.
Sucede que si lo llamo por su nombre, no siempre es el mismo, entonces me
quiero referir a el cual sea, para ocultarlo o cerrarlo.



prueba definiendo una variable 'global' de tipo string y que cada
formulario se encargue...
a) de 'llenarla' con su nombre [p.e. al activarse y/o mostrarse]
b) de 'vaciarla' [p.e. al desactivarse y/o terminarse] -?-

saludos,
hector.

Respuesta Responder a este mensaje
#3 Héctor Miguel
08/06/2006 - 02:22 | Informe spam
hola, Faiverlgr !

... un ejemplo para declarar la variable global? No se como referirme a esta para hacer que el formulario se cierre.



cuando mencionas una 'aplicacion VB'... no estoy muy seguro de si te refieres a VB [stand-alone] o VBA [de excel] -?-

1) para el caso de VBA, solo se necesitaria declarar una variable publica en un modulo de codigo 'normal' [o general]
-> Dim Formulario_activo As String

2) y asignar [o llenar] el dato con el nombre del formulario que [recien] se activa poniendo [p.e.]
-> en el modulo de codigo de cada formulario...
Private Sub UserForm_Activate()
Formulario_activo = Me.Name
End Sub
Private Sub UserForm_Terminate()
Formulario_activo = ""
End Sub

3) para despues utilizarla en cualquier parte de codigo +/- como sigue:
If Formulario_activo <> "" _
Then MsgBox "El formulario activo es: " & Formulario_activo

4) nota: si los formulario se estan mostrando como 'no modales'...
habria un [posible] 'retardo' al cerrar un formulario [si hay otros abiertos] y no quedara como 'activo' alguno de los otros -?-

si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.

hola, Faiverlgr !

En una aplicacion VB, necesito cerrar el formulario principal que en el momento este activo, pero no se cemo referirme a el.
Sucede que si lo llamo por su nombre, no siempre es el mismo, entonces me quiero referir a el cual sea, para ocultarlo o cerrarlo.



prueba definiendo una variable 'global' de tipo string y que cada formulario se encargue...
a) de 'llenarla' con su nombre [p.e. al activarse y/o mostrarse]
b) de 'vaciarla' [p.e. al desactivarse y/o terminarse] -?-
Respuesta Responder a este mensaje
#4 klomkbock
08/06/2006 - 17:47 | Informe spam
Hola a ambos. Disculpad la intromision, pero es un tema que llevo
planteandome algun tiempo

y me interesa bastante. Si me lo permitis, me gustaria ampliar la consulta.

Por un lado saber si se puede declarar la variable en un modulo con
option private para que no este disponible para otras aplicaciones.

Por otro, ¿se puede usar para hacer referancia directa al objeto?. Me
explico, no se si se puede usar (aunque intentare hacer pruebas en cuanto
pueda) por ejemplo una instruccion como esta: With MiForm

Por ultimo: se podria hacer un procedimiento "general" para varios
formulario haciendo referencia a sus controles en un modulo normal. Algo
asi:

Sub LlenarFormulario() 'llenar los textBox
If MiForm = "" Then Exit Sub 'quizas no haria falta pues solo
'se le llamaria desde un
formulario
TextBox1.Text = MiMatriz(0) '¿reconoceria los textbox como del
TextBox2.Text = MiMatriz(2) 'formulario llamante/activo?

Disculpad de nuevo.

Un saludo y hasta pronto
Ivan
Respuesta Responder a este mensaje
#5 Faiverlgr
08/06/2006 - 23:00 | Informe spam
Muchas Gracias:
Mi Aplicación es VBA
Entiendo perfectamente lo que me explicó. Ahora mi interrogante va a que
cuando me voy a referir al formulario activo para cerrarlo con
UNLOAD Formulario_activo 'ó
Formulario_activo.HIDE
No me acepta ninguno de los dos, y con razon; pues entiendo que en estos dos
casos siempre se debe referir es a un obeto ( form).



"Héctor Miguel" escribió en el mensaje
news:%
hola, Faiverlgr !

... un ejemplo para declarar la variable global? No se como referirme a
esta para hacer que el formulario se cierre.



cuando mencionas una 'aplicacion VB'... no estoy muy seguro de si te
refieres a VB [stand-alone] o VBA [de excel] -?-

1) para el caso de VBA, solo se necesitaria declarar una variable publica
en un modulo de codigo 'normal' [o general]
-> Dim Formulario_activo As String

2) y asignar [o llenar] el dato con el nombre del formulario que [recien]
se activa poniendo [p.e.]
-> en el modulo de codigo de cada formulario...
Private Sub UserForm_Activate()
Formulario_activo = Me.Name
End Sub
Private Sub UserForm_Terminate()
Formulario_activo = ""
End Sub

3) para despues utilizarla en cualquier parte de codigo +/- como sigue:
If Formulario_activo <> "" _
Then MsgBox "El formulario activo es: " & Formulario_activo

4) nota: si los formulario se estan mostrando como 'no modales'...
habria un [posible] 'retardo' al cerrar un formulario [si hay otros
abiertos] y no quedara como 'activo' alguno de los otros -?-

si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.

hola, Faiverlgr !

En una aplicacion VB, necesito cerrar el formulario principal que en el
momento este activo, pero no se cemo referirme a el.
Sucede que si lo llamo por su nombre, no siempre es el mismo, entonces
me quiero referir a el cual sea, para ocultarlo o cerrarlo.



prueba definiendo una variable 'global' de tipo string y que cada
formulario se encargue...
a) de 'llenarla' con su nombre [p.e. al activarse y/o mostrarse]
b) de 'vaciarla' [p.e. al desactivarse y/o terminarse] -?-






Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida