Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

C# - Why won't a fullscreen winform app ALWAYS cover the taskbar?

Tags:

I'm using Windows Vista and C#.net 3.5, but I had my friend run the program on XP and has the same problem.

So I have a C# program that I have running in the background with an icon in the SystemTray. I have a low level keyboard hook so when I press two keys (Ctr+windows in this case) it'll pull of the application's main form. The form is set to be full screen in the combo key press even handler:

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

So it basically works. When I hit CTR+Windows it brings up the form, no matter what program I have given focus to. But sometimes, the taskbar will still show up over the form, which I don't want. I want it to always be full screen when I hit that key combo.

I figure it has something to do with what application has focus originally. But even when I click on my main form, the taskbar sometimes stays there. So I wonder if focus really is the problem. It just seems like sometimes the taskbar is being stubborn and doesn't want to sit behind my program.

Anyone have any ideas how I can fix this?

EDIT: More details- I'm trying to achieve the same effect that a web browser has when you put it into fullscreen mode, or when you put powerpoint into presentation mode.

In a windows form you do that by putting the border style to none and maximizing the window. But sometimes the window won't cover the taskbar for some reason. Half the time it will.

If I have the main window topmost, the others will fall behind it when I click on it, which I don't want if the taskbar is hidden.

like image 827
Joel Avatar asked Sep 22 '08 23:09

Joel


1 Answers

Try this (where this is your form):

this.Bounds = Screen.PrimaryScreen.Bounds; this.TopMost = true; 

That'll set the form to fullscreen, and it'll cover the taskbar.

like image 120
Ryan Lundy Avatar answered Oct 21 '22 13:10

Ryan Lundy