Estoy usando Windows Vista y C# .net 3.5, pero hice que mi amigo ejecutara el programa en XP y tiene el mismo problema.C# - ¿Por qué una aplicación winform de pantalla completa SIEMPRE no cubre la barra de tareas?
Así que tengo un programa C# que tengo corriendo en segundo plano con un ícono en SystemTray. Tengo un gancho de teclado de bajo nivel, así que cuando presiono dos teclas (Ctrl + Windows en este caso) extraeré el formulario principal de la aplicación. El formulario está configurado para ser pantalla completa en la tecla combinada presionar controlador par:
this.FormBorderStyle = FormBorderStyle.None;
this.WindowState = FormWindowState.Maximized;
Así que básicamente funciona. Cuando presiono CTR + Windows, aparece el formulario, sin importar a qué programa me he enfocado. Pero a veces, la barra de tareas seguirá apareciendo en el formulario, que no quiero. Quiero que siempre sea pantalla completa cuando presiono esa combinación de teclas.
Creo que tiene algo que ver con qué aplicación tiene foco originalmente. Pero incluso cuando hago clic en mi formulario principal, la barra de tareas a veces se queda allí. Entonces me pregunto si el enfoque realmente es el problema. Parece que a veces la barra de tareas es obstinada y no quiere sentarse detrás de mi programa.
¿Alguien tiene alguna idea de cómo puedo solucionar esto?
EDITAR: Más detalles- Estoy tratando de lograr el mismo efecto que tiene un navegador web cuando lo pones en modo de pantalla completa, o cuando pones powerpoint en el modo de presentación.
En una forma de Windows lo hace poniendo el estilo de borde en ninguno y maximizando la ventana. Pero a veces la ventana no cubrirá la barra de tareas por alguna razón. La mitad del tiempo lo hará.
Si tengo la ventana principal en la parte superior, los demás se quedarán atrás cuando haga clic en ella, lo cual no quiero si la barra de tareas está oculta.
Para que esto funcione, quiere asegurarse de que el formulario * no * esté maximizado. –
Oh, el único problema es que no puedo tenerlo como TopMost, porque tengo otras ventanas que están encima de él que son TopMost, así que si hago clic en 'esto', todas las demás ventanas irán detrás de él. – Joel
Heh. Detalles menores allí. Tengo mis dudas sobre si lo que desea puede hacerse * sin * TopMost si el usuario tiene "Mantener la barra de tareas en la parte superior de otras ventanas" marcada. Pero también puede tener múltiples ventanas de TopMost, y la activa será, uh, TopMostest. –