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ó:

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.
¿alguien sabe cual es el problema del comportamiento anterior?



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.
Respuesta Responder a este 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:
"Juan" escribió:

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.
¿alguien sabe cual es el problema del comportamiento anterior?



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.




Respuesta Responder a este mensaje
#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ó:

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();
Respuesta Responder a este mensaje
#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:#
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ó:

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();





Respuesta Responder a este mensaje
#5 SoftJaén
13/07/2009 - 14:06 | Informe spam
"Juan" escribió:

También lo pensé pero sigue el problema. Tendré que probar en
otro Windows 7.



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.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida