[VB.NET] Traer aplicación a primer plano.

ArcheR

Buenas!

Tengo una aplicación en VB.NET, y a veces me ocurre que al abrir el .exe, el formulario de inicio se abre, pero no lo veo en pantalla, como si se abriera pero debajo de todas las ventanas que tengo abiertas en ese momento.

Si le doy a ALT + TAB para moverme entre las aplicaciones abiertas, lo veo, o si lo minimizo todo, pero me gustaría saber si hay alguna manera de "obligar" al formulario a venirse a primer plano (delante de todo) cuando lo abra.

Gracias!

glolg

En principio cuando ejecutas el proyecto compilado, se tiene que abrir en primer plano, a no ser que le digas que no lo haga.
No obstante, te propongo un par de funciones que van bastante bien:

http://www.recursosvisualbasic.com.ar/htm/listado-api/209-funcion-api-setforegroundwindow.htm

http://msdn.microsoft.com/es-es/library/aa984361(v=vs.71).aspx

Con este segundo puedes hacer el típico form que molesta en mitad de la pantalla. =)

1 respuesta
ArcheR

#2, cuando llegue a casa pruebo lo de la api setforeground.

El tema de poner TopMost = True en las propiedades del formulario no me sirve, porque eso hace que el formulario esté siempre en primer plano, y yo no quiero que se quede fijo en primer plano, sino que se ponga en primer plano al iniciarlo, y después ya si se pone otra ventana encima, pues no pasa nada.

1 respuesta
Soltrac

#3 Es por tu aplicación, a mi me pasaba y era porque yo hago cosas especiales en el inicio. Tienes que tirar de la API o de hacks.

Uno que me valía a mi era en el load poner el topmost a true y en el shown a false. Pero ya te digo que se debe a lo que haces cuando inicias la aplicación, en mi caso no tenía solución y tuve q tirar de estos recursos guarros.

1 respuesta
ArcheR

#4, ya me lo imaginaba yo xDD

Al final creo que lo he solucionado poniendo al final de todo el código del load "Me.BringToFront()", y he probado varias veces a abrir la aplicación y cambiar el foco rápido a otra cosa, y aún así me trae la aplicación al frente.

Además, es que no solo me ocurría que no la veía, sino que abajo, en la barra de tareas, no me salía el recuadro de la aplicación abierta siquiera, por lo que parecía que la aplicación no se hubiese ejecutado, aunque sí estaba abierta "en segundo plano".

Gracias a todos ;)

Usuarios habituales

  • ArcheR
  • Soltrac
  • glolg