problema al mostrar un formulario

08/07/2009 - 22:34 por Juan | Informe spam
Tengo un formulario en el que al pulsar un botón ha de crear un nuevo
formulario, mostrarlo y ocultar el primero, para que cuando se cierre este
segundo, volver a mostrar el primero. Todo funciona salvo que en alguna
ocasión uno de los formularios (cualquiera de ellos) no llega a mostrarse,
aunque si está en la barra de tareas. He probado a usar los métodos Focus,
BringToFront, Activate,... pero nada, de vez en cuando no se muestra, aunque
tampoco ninguna otra ventana se vuelve la activa. Además aunque pinche sobre
él en la barra de tareas no se muestra salvo que primero muestre otra
ventana y luego haga de nuevo clic en la barra de tareas al icono del
formulario.

Uso Windows 7 y buscando en internet he encontrado gente que habla de
problemas en Vista y una solución es usar la propiedad TopMost pero no es lo
que querría. Haciendo otras pruebas he comprobado que mostrando el
formulario de modo modal no hay problema y esto me podría valer, pero
¿alguien sabe cual es el problema del comportamiento anterior?

Saludos

Preguntas similare

Leer las respuestas

#1 SoftJaén
09/07/2009 - 06:19 | Informe spam
"Juan" escribió:

Mostrar la cita
Hola, Juan:

La verdad es que no llego a reproducir el problema que nos estás comentando.

Como dices que utilizas la RC de Windows 7, me ha dado por realizar una
prueba en dicho sistema operativo, mayormente para ver si era un problema
existente en él, y no he tenido ningún problema para mostrar/ocultar
formularios. ¿?

Un saludo

Enrique Martínez
[MS MVP - VB]

Nota informativa: La información contenida en este mensaje, así como el
código fuente incluido en el mismo, se proporciona «COMO ESTÁ», sin
garantías de ninguna clase, y no otorga derecho alguno. Usted asume
cualquier riesgo al poner en práctica, utilizar o ejecutar lo recomendado o
sugerido en el presente mensaje.
#2 Juan
09/07/2009 - 16:02 | Informe spam
La verdad es que es una cosa muy rara, sobre todo por que pasa cuando
quiere, y el código es tan simple como esto:

Form f=new FrmDos();
f.Location = this.Location;
this.Hide();
f.Show();
//aquí los Activate, BringToFront,

y en el FrmDos();

this.Close();
Application.OpenForms[0].Show();

Y en principio no tengo ningún programa especial instalado que pueda dar
problemas.

"SoftJaén" escribió en el mensaje de
noticias:
Mostrar la cita
#3 SoftJaén
09/07/2009 - 16:56 | Informe spam
Si por casualidad ese comportamiento sucede cuando ejecutas tu aplicación
desde el IDE de Visual Studio, yo que tú no le haría ni el más mínimo caso.

Para salir de dudas, ejecuta el propio archivo ejecutable y mira a ver si te
sucede lo mismo, porque en definitiva, éste es el archivo que debería de
funcionar correctamente.

Enrique Martínez
[MS MVP - VB]

Nota informativa: La información contenida en este mensaje, así como el
código fuente incluido en el mismo, se proporciona «COMO ESTÁ», sin
garantías de ninguna clase, y no otorga derecho alguno. Usted asume
cualquier riesgo al poner en práctica, utilizar o ejecutar lo recomendado
o sugerido en el presente mensaje.


"Juan" escribió:

Mostrar la cita
#4 Juan
13/07/2009 - 10:55 | Informe spam
También lo pensé pero sigue el problema. Tendré que probar en otro Windows
7.

Gracias

"SoftJaén" escribió en el mensaje de
noticias:#
Mostrar la cita
#5 SoftJaén
13/07/2009 - 14:06 | Informe spam
"Juan" escribió:

Mostrar la cita
Pues como te indiqué en mi primer mensaje, yo, al menos, no puedo reproducir
el problema que nos comentas. ¡Lo siento!

Enrique Martínez
[MS MVP - VB]

Nota informativa: La información contenida en este mensaje, así como el
código fuente incluido en el mismo, se proporciona «COMO ESTÁ», sin
garantías de ninguna clase, y no otorga derecho alguno. Usted asume
cualquier riesgo al poner en práctica, utilizar o ejecutar lo recomendado o
sugerido en el presente mensaje.
Ads by Google
Search Busqueda sugerida