Llamar a un formulario desde otro (Hacerlo visible)

1,494 views
Skip to first unread message

Sergio Cisak

unread,
Sep 29, 2014, 9:57:00 AM9/29/14
to publice...@googlegroups.com
Buenas, tengo un formulario desde donde accedo a los demas, y cuando lo hago, este se oculta con un visible=.F.. Mi pregunta es como volver a llamarlo desde otro form, para que se haga visible nuevamente. No me sirve el tipico DO FORM porque me abre nuevamente el formulario (Sumado al que ya esta abierto y esta como visible=.F.), y cuando salgo del programa, tengo que cerrarlos a todos. Me gustaria saber como hacer para mostrarlo nuevamente, o sea, hacerlo visible nada mas, sin el DO FORM. Muchas gracias desde ya. Saludos.
Message has been deleted

francisco prieto

unread,
Sep 29, 2014, 10:24:28 AM9/29/14
to publice...@googlegroups.com
Sergio,

Todos los objetos en VFP tienen un nombre...

Fijate cual es el nombre que el pusiste al formulario.

Supongamos que en name al formulario le pusiste de nombre frmPrincipal...

Pues bien para que se vuelva visible podes poner...

frmPrincipal.Show()

y para ocultarlo...

frmPrincipal Hide()

Saludos,

Pancho
Córdoba
Argentina

Luis Maria Guayan

unread,
Sep 29, 2014, 10:58:20 AM9/29/14
to publice...@googlegroups.com
Utiliza la siguiente técnica:

-- Obtener una referencia a un formulario padre --
http://comunidadvfp.blogspot.com/2014/09/obtener-una-referencia-un-formulario.html

Lo aconsejable es que tengas éste código en tu clase base formulario, así todos tus formularios tendrán dicha referencia. Cuando quieras hacer referencia al formulario padre, y en tu caso el tema de hacerlo visible solo tienes que ejecutar:

 Thisform.oParentForm.Visible = .T.


Luis María Guayán
Tucumán, Argentina
_____________________________
http://comunidadvfp.blogspot.com

El 29/09/2014 a las #4, Sergio Cisak escribió:

Sergio Cisak

unread,
Sep 29, 2014, 11:12:06 AM9/29/14
to publice...@googlegroups.com
No me funciono, Francisco. Creo que para que eso ande, debo tener todos los formularios dentro de un Formset, no se si me equivoco. 

Antonio Meza

unread,
Sep 29, 2014, 11:48:34 AM9/29/14
to publice...@googlegroups.com
Hola!!

El formulario que comentas que usas para abrir otros formularios es de nivel superior? y porque tienes que ocultarlo cuando abres otro formulario?, te pregunto para darme una idea de como lo estas manejando y tratar de darte ideas.

saludos
Antonio Meza

Sergio Cisak

unread,
Sep 29, 2014, 12:02:05 PM9/29/14
to publice...@googlegroups.com
Asi lo configure, me parece que es lo correcto (Desde mi punto de vista..). Necesito otras opiniones. Es un ABM principal, desde donde voy a otros forms y vuelvo siempre al principal. Cual es la manera ideal? Si pongo thisform.hide, anda bien para ocultar, pero si hago "nombre_del_form.SHOW" para que me muestre de nuevo, me dice que no reconoce el objeto.. 

Fidel Charny

unread,
Sep 29, 2014, 12:10:58 PM9/29/14
to publice...@googlegroups.com
Un solución fácil es asignarle el nombre al crear el form ShowWindow=2
addproperty(_screen,"frmPpal",null)
do form \toFrmPrincipal NAME _Screen.frmPPal

Luego podrá ser
_Screen.frmPpal.HIde()
_screen.frmPpal.Show()
_Screen.frmPpal.TalMetodoUsuario()

Antonio.xt

unread,
Sep 29, 2014, 12:25:43 PM9/29/14
to publice...@googlegroups.com

Sergio, puedes usar tambien el siguiente codigo, que debe ir en donde mandas llamar el segundo formulario.

_SCREEN.Forms(1).Hide
DO FORM {Formulario2}
_SCREEN.Forms(1).Show

Pero, igual creo que no deberias ocultarlo; un motivo es por estetica, ya que se vera el 2o form solo.


Sergio Cisak

unread,
Sep 29, 2014, 3:29:55 PM9/29/14
to publice...@googlegroups.com
Muy utiles las repuestas de todos. Esto me gusta de la programacion, que hay mil formas de hacer algo, y todas estan bien. Ya lo pude solucionar, asi que doy por cerrado esta publicacion. Un abrazo grande a todos, amigos! Gracias una vez mas. 

Jorge Vega Trigueros

unread,
Jul 22, 2015, 6:22:28 AM7/22/15
to Comunidad de Visual Foxpro en Español, inxs...@gmail.com
Gracias a todos por sus valiosos comentarios.

Voy a utilizar la técnica referida por don Luis Maria Guayan.

Funciona MUY bien.



NUEVAMENTE GRACIAS.

Jose Mario

unread,
Jul 24, 2015, 12:37:50 PM7/24/15
to Comunidad de Visual Foxpro en Español, inxs...@gmail.com, inxs...@gmail.com
IF WEXIST( [tuform.scx] )
 RETURN
ENDIF

con esto se te abre dos veces, load de cada formulario
Reply all
Reply to author
Forward
0 new messages