65.9K
CodeProject is changing. Read more.
Home

Full Screen Mode in C#

starIconstarIcon
emptyStarIcon
starIcon
emptyStarIconemptyStarIcon

2.08/5 (20 votes)

Jan 23, 2005

1 min read

viewsIcon

236220

downloadIcon

4467

An easy way to enter into full screen mode.

Introduction

There are situations where you want your application to go into a full screen presentation mode. This mode usually covers the whole desktop with a black background and the application sits in the middle of the screen.

How to do it?

I am presenting a simple solution using C#. In this application, I have made the application accept F11 as the toggle key to go into full screen mode and to revert back to its original state. To accomplish that, I set the KeyPreview property of the form to true.

When the F11 key is pressed, I create another form that has its WindowState property set to Maximized, the background color is set to Black.

The trick here is to set the main application's form's owner to that of the second form. By setting the Owner property, Windows will display the application on top of the black background window. The last thing to do is to set the FormBorderStyle of the main form to None.

private void Form1_KeyUp(object sender, System.Windows.Forms.KeyEventArgs e)
  {
   if ( e.KeyData == Keys.F11)
   {
      if (_bFullScreenMode == false)
      {
           Form2 f = new Form2();
           this.Owner = f;
           this.FormBorderStyle = FormBorderStyle.None;
           this.Left = (Screen.PrimaryScreen.Bounds.Width/2 - this.Width/2);
           this.Top = (Screen.PrimaryScreen.Bounds.Height/2 - this.Height/2);
           f.Show();
           _bFullScreenMode = true;
           f.KeyUp +=new KeyEventHandler(Form1_KeyUp);
      }
      else
      {
           Form f = this.Owner;
           this.Owner = null;
           f.Close();
     
           this.FormBorderStyle = FormBorderStyle.Sizable;
           _bFullScreenMode = false;
      }
   }
  }

Conclusion

Here is just a simple method for an application to enter to a full screen mode without writing a lot of resizing code in the main application.