Mostrar botón comando oculto en Formulario no abierto

Os planteo la siguiente cuestión por si me pudieran ayudar.

Tengo tres formularios FrmA, FrmB y FrmC.

En el FrmC tengo un botón llamado btnMostrar, oculto.

En el formulario FrmA, tengo un grupo de opciones y al seleccionar una, me abre el formulario FrmB y a la vez quiero que, en el FrmC, el botón (btnMostrar) se me haga visible.

Ese es el planteamiento, ahora viene lo que pretendo hacer:

Al seleccionar una opción del FrmA, deseo que se haga visible el botón btnMostrar, del FrmC, y me salta error 2450, no encuentra el formulario al que hace referencia.

Tengo la siguiente instrucción en el FrmA, para hacer visible el btnMostrar del FrmC: Forms!FrmC!btnMostrar.Visible = True

2 respuestas

Respuesta
1

Por pensar algo. La única forma de que puedas comprobar que el botón se ha hecho visible es abriendo dicho formulario FormC. Por tanto, si tienes que abrir el FormC para comprobarlo, en sus propiedades-eventos-Al abrir puedes crear un procedimiento de evento y poner algo como

If currentproject.allforms("formA").is loaded then

btnmostrar.visible=true

else

btmostrar=false

end if

Me explico, al abrir el formulario FormA comprueba si está cargado(abierto) el FormA( que sí lo está pues acabas de seleccionar una opción) por tanto mostraría el botón. Por el contrario si abres directamente el FormC como el FormA no está cargado( abierto) no se muestra.

Respuesta
1

No es factible.

Los formularios NO existen como tal objeto, lo que se guarda es una plantilla (esquema, código o como se le quiera llamar).
Es al abrir el formulario (y en tiempo de ejecución) cuando se crea el formulario y se cargan sus datos (si tiene asociado a él un origen de datos), tras ello queda a disposición del usuario.

Conclusión: los formularios solo 'existen' cuando están abiertos.

Queda la alternativa de ocultarlo (y/o minimizarlo), y si tiene algo mas que el botón, incluso puede ajustar su tamaño (requiere un diseño cuidadoso) para que solo sea visible el botón.

Todo ello me parece 'complicar lo sencillo' y lo sencillo es copiar ese objeto (mas su código asociado) y pegarlo en aquellos formularios que lo necesiten, se le hace visible/invisible según se precise y ...

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas