Formulario modal visible en MDI

Saben de alguna codificación para mostrar formularios Modal en formularios MdiChild. Yo puedo colocar formularios visibles encima de form. MdiChil mediante la opción:
Form1.show VbModeless,MdiPrincipal
Pero esta opción hace que el formulario siempre este visible y se pueda seguir usando el formulario MdiChild y lo que deseo es que se bloquee el form. MdiChild hasta que desaparezca el formulario Modal.
Respuesta
2
Según la forma que indica la programación de visual basic, la instrucción que comentas sería como sigue:
Form1.show VbModal,MdiPrincipal
Ya que presenta cualquier forma en medio modal, normalmente se indicaría en las propiedades de la forma a presentar se indica que no se trata de una forma mdichild.
Pero el formulario lo abro como formulario Mdi secundario con la opción
frmingreso. show
(Este formulario es hijo del formulario MDIPrincipal) y cuando deseo cargar el formulario normal (no MDI)con la opción:
FrmHiscli.show
me sigue saliendo el mismo error. Pero cuando lo hablo con la opcion:
FrmHiscli show VbModeless,MdiPrincipal
El formulario se queda siempre visible pero no bloquea a los formularios Mdi secundarios
Checa bien las propiedades de cada formulario, ya que solo puedes tener un MDI por proyecto y varios MDICHILD, pero no DOS MDI, creo que las propiedades están mal planteadas o tienes mal el planteamiento de como generar los formularios. Ya que la forma que te comento es la que uso para trabajar con aplicaciones MDI.
Te explico mejor..
Lo que pasa es que en mi aplicación tengo formularios hijos que dependen del Formulario MdiPrincipal, y deseo cargar un formulario no hijo y que este en forma Modal, osea que bloquee los formularios hijos hasta que cierre el formulario Modal.
El mensaje que aparece es el siguiente:
Ocurrió el siguiente error: 400
El formulario ya esta visible. No se puede mostrar en forma modal
El error que me comentas es que intentas abrir un mismo formulario, tanto en forma modal, como no modal.
Si necesitas algo similar en pantalla, tendrías que hacer dos formularios similares y uno lo abres en forma no modal y el otro en forma modal.
Muchas gracias.
Te comento que el problema se debía a que tenia la propiedad show en mi formulario Mdi secundario al eliminarlo se acabo el problema, no se en que momentoi lo puse, parece que fue al momento de querer imprimir caracteres en el formulario. Muchas gracias por tu ayuda me fue de mucha utilidad

1 respuesta más de otro experto

Respuesta
1
Antes que nada mil disculpas por no responder antes pero no había podido:
Pues mira, francamente a mi no me resultó el querer crear formularios Modales en un contenedor MDIChild, no usé el modelo que me dices, sino crear el formulario como hijo y hacerlo modal, eso no se puede, pero encontré como bloquear las funciones de los otros incluyendo al padre, lo que hice fue poner todos los controles del padre en un control picture a manera de una barra de herramientas, en el caso de menús también, no son menús de verdad, sino controles label y al presionarlos muestran un menu contextual, claro que el problema es que tienes que acomodar manualmente como se van a mostrar estos, tendrías dos controles picture con sus bordes desactivados para simular la barra de menús y botones en el otro para crear la barra de herramientas, o usa de verdad, a lo que voy es que cuando mostramos el formulario hijo bloqueamos los controles picture del padre y así ya no responderán y solo tu formulario si funcionará, si tienes más formularios abiertos procedes a bloquearlos y cuando cierres el formulario desbloqueas todo de nuevo.
Suena a muy complicado, pero es la única solución que encontré, ignoro si hay otra manera.
Manuel

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas