Foros del Web » Programación para mayores de 30 ;) » .NET »

Hacer que un dialog quede sobre los Mdi, pero no sobre todo...

Estas en el tema de Hacer que un dialog quede sobre los Mdi, pero no sobre todo... en el foro de .NET en Foros del Web. Hola. Tengo una aplicación programada con VB.Net 2003 que carga otros formularios como hijos haciendo uso de la propiedad .MdiParent en el form inicial. Toda ...
  #1 (permalink)  
Antiguo 22/11/2009, 08:06
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Hacer que un dialog quede sobre los Mdi, pero no sobre todo...

Hola.

Tengo una aplicación programada con VB.Net 2003 que carga otros formularios como hijos haciendo uso de la propiedad .MdiParent en el form inicial. Toda la aplicación y la invocación de los formularios hijos funciona correctamente.
Mi problema es que en algunos momentos necesito cargar un pequeño Form como dialog para indicarle al usuario que espere que determinado proceso termine. Eso también funciona, pero el problema es que el form es invocado desde el Form hijo, no desde el padre usando el método .Show, y para que no se "esconda" detrás del form hijo debo indicarle que quede encima de todo, con lo que si el usuario minimiza el form en trabajo, ese dialog queda encima de cualquier otra cosa que esté cargada (Firefox, Windows Emplorer, Photoshop, Corel, cualquiera), lo que resulta inmensamente molesto.
No he encontrado cómo hacer para que quede encima de todos los componentes de la aplicación pero no sobre todas las aplicaciones. Tampoco he encontrado documentación adecuada en ningún tutorial ni manual.

¿Cómo se puede lograr eso?
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #2 (permalink)  
Antiguo 22/11/2009, 08:17
Avatar de atak  
Fecha de Ingreso: julio-2005
Ubicación: Huancayo
Mensajes: 490
Antigüedad: 18 años, 9 meses
Puntos: 5
De acuerdo Hacer que un dialog quede sobre los Mdi, pero no sobre todo...

Hola,

a lo mejor este post anterior te pueda ayudar:




http://www.forosdelweb.com/f79/impedir-duplicado-ventanas-hijas-menu-mdi-754818/




Saludos
__________________
. .: El mejor Inicio :. .
  #3 (permalink)  
Antiguo 22/11/2009, 08:52
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Hacer que un dialog quede sobre los Mdi, pero no sobre todo...

No. Los ejemplos de ese post hacen referencia a manejar el dialog como MdiChildren de un form principal. Mi problema no es ese, mi problema es que el dialog que se crea, se crea desde el MdiChildren, y no desde el MdiParent, y lo que no debe suceder es que por alguna razón quede detrás del formulario que le da origen y tampoco encima de todo...
Uno de los problemas es que se lo invoca con el método Show, y no con ShowDialog, ya que es en realidad una ventana de aviso de proceso en ejecución, proceso que se ejecuta en otro thread. Por esto mismo, .ShowDialog no me sirve, debe ser .Show.
Otro de los problemas que traté de remarcar es que no puedo usar la propiedad .TopMost, ya que esa hace que quede encima de todo: form principal, MdiChildren y demás aplicaciones en ejecución. Eso es precisamente lo que deseo evitar.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:01.