full screen mode, but don't cover the taskbar

Viewed 46004

I have a WinForms application, which is set to full screen mode when I login.

My problem is it's covering the Windows taskbar also. I don't want my application to cover the taskbar.

How can this be done?

12 Answers

Arcanox's answer is great for a single monitor, but if you try it on any screen other than the leftmost, it will just make the form disappear. I used the following code instead.

var workingArea = Screen.FromHandle(Handle).WorkingArea;
MaximizedBounds =  new Rectangle(0, 0, workingArea.Width, workingArea.Height);
WindowState = FormWindowState.Maximized;

The only difference is I'm overriding the top & left values to be 0, 0 since they will be different on other screens.

This was very useful to me:

private void Form1_Load(object sender, EventArgs e)
   {
       this.MaximizedBounds = Screen.FromHandle(this.Handle).WorkingArea;
       this.WindowState = FormWindowState.Maximized;
   }

I know it's a bit too late, but it will help others too in the future.

the answered code above is working but still in my case if the taskbar is auto-hiding and showing it wont show the taskbar once it hides from the screen. I solved this problem by adding -1` to the working area height.

var workingArea = Screen.FromHandle(Handle).WorkingArea;
MaximizedBounds = new Rectangle(0, 0, workingArea.Width, workingArea.Height - 1);
Related