Por que um aplicativo de tela cheia não vai sempre cobrir a barra de tarefas?
Estou usando o Windows Vista e C # .net 3. 5, mas tive meu amigo executar o programa no XP e tem o mesmo problema.
Então eu tenho um programa c # que eu tenho executado em segundo plano com um ícone no SystemTray. Eu tenho um gancho de teclado de baixo nível, então quando eu pressiono duas teclas (Ctr + windows neste caso) ele puxará o formulário principal do aplicativo. O formulário está configurado para tela cheia na tecla de combinação pressione até manipulador:
this.FormBorderStyle = FormBorderStyle.None;
this.WindowState = FormWindowState.Maximized;
Então basicamente funciona. Quando eu clico em CTR + Windows, aparece o formulário, não importa em qual programa eu tenha me focado. Mas, às vezes, a barra de tarefas ainda aparece no formulário, o que não quero. Eu quero que seja sempre em tela cheia quando eu acertar essa combinação de teclas.
Eu acho que tem algo a ver com qual aplicativo tem foco originalmente. Mas mesmo quando clico no meu formulário principal, a barra de tarefas às vezes fica lá. Então, eu me pergunto se o foco é realmente o problema. Parece que às vezes a barra de tarefas está sendo teimosa e não quer ficar atrás do meu programa.
Alguém tem alguma idéia de como eu posso consertar isso?
EDIT: mais detalhes - estou tentando obter o mesmo efeito que um navegador da web tem quando você colocá-lo no modo de tela inteira ou quando você coloca o powerpoint no modo de apresentação.
Em uma forma de janelas, você faz isso colocando o estilo de borda em nenhum e maximizando a janela. Mas às vezes a janela não cobre a barra de tarefas por algum motivo. Metade do tempo vai.
Se eu tiver a janela principal no topo, os outros ficarão para trás quando eu clicar nela, o que não quero se a barra de tarefas estiver oculta.