Warum deckt eine Vollbild-Winform-App die Taskleiste nicht IMMER ab?

Ich verwende Windows Vista und C # .net 3.5, aber mein Freund hat das Programm unter XP ausgeführt und das gleiche Problem.

Ich habe also ein C # -Programm, das im Hintergrund mit einem Symbol in der Taskleiste ausgeführt wird. Ich habe einen Low-Level-Tastaturhaken. Wenn ich also zwei Tasten drücke (in diesem Fall Strg + Windows), wird das Hauptformular der Anwendung entfernt. Das Formular wird so eingestellt, dass es im Kombinations-Handler für das Drücken einer Taste im Vollbildmodus angezeigt wird:

this.FormBorderStyle = FormBorderStyle.None;
this.WindowState = FormWindowState.Maximized;

So funktioniert es im Grunde. Wenn ich STRG + Windows drücke, wird das Formular angezeigt, unabhängig davon, auf welches Programm ich mich konzentriert habe. Aber manchmal wird die Taskleiste immer noch über dem Formular angezeigt, was ich nicht möchte. Ich möchte, dass es immer im Vollbildmodus angezeigt wird, wenn ich diese Tastenkombination drücke.

Ich denke, es hat etwas damit zu tun, auf welche Anwendung der Fokus ursprünglich gerichtet war. Aber selbst wenn ich auf mein Hauptformular klicke, bleibt die Taskleiste manchmal dort. Ich frage mich also, ob der Fokus wirklich das Problem ist. Es scheint nur so, als ob die Taskleiste manchmal hartnäckig ist und nicht hinter meinem Programm sitzen möchte.

Hat jemand eine Idee, wie ich das beheben kann?

BEARBEITEN: Weitere Details - Ich versuche, den gleichen Effekt zu erzielen, den ein Webbrowser erzielt, wenn Sie ihn in den Vollbildmodus versetzen oder wenn Sie PowerPoint in den Präsentationsmodus versetzen.

In einem Windows-Formular tun Sie dies, indem Sie den Rahmenstil auf "Keine" setzen und das Fenster maximieren. Aber manchmal verdeckt das Fenster die Taskleiste aus irgendeinem Grund nicht. Die halbe Zeit wird es.

Wenn ich das Hauptfenster ganz oben habe, fallen die anderen dahinter, wenn ich darauf klicke, was ich nicht möchte, wenn die Taskleiste ausgeblendet ist.

Antworten auf die Frage(5)

Ihre Antwort auf die Frage