How to Capture a Screen Using C#

  • Aman
  • Updated date Mar 23, 2014


Here we will implement a Windows Forms application to capture a screen using C#.

It is a very short demo especially for beginners.


Step 1: Create a new “Windows Forms application” in Visual Studio and name it as you choose (I here named it ScreenCaptureDemo).

Now a new form is generated.

Step 2: Now go to the toolbox and add a Button Control to the project also resize the window size.

The form will look like this:

Step 3: Add the following using directives:

using System.Drawing.Imaging;

using System.Drawing;

using System;

Step 4: Now navigate to the code file Form1.cs and the following code in the Button Event Handler that we added to our project. 


private void buttonCapture_Click(object sender, EventArgs e)


      //Creating a Method name CaptureMyScreen



private void CaptureMyScreen()



Step 5: Now add the following code into the method that we created (CaptureMyScreen()):

private void CaptureMyScreen()




           //Creating a new Bitmap object

          Bitmap captureBitmap = new Bitmap(1024, 768, PixelFormat.Format32bppArgb);

         //Bitmap captureBitmap = new Bitmap(int width, int height, PixelFormat);

         //Creating a Rectangle object which will  

         //capture our Current Screen

         Rectangle captureRectangle = Screen.AllScreens[0].Bounds;


         //Creating a New Graphics Object

         Graphics captureGraphics = Graphics.FromImage(captureBitmap);


        //Copying Image from The Screen



        //Saving the Image File (I am here Saving it in My E drive).



        //Displaying the Successfull Result


        MessageBox.Show("Screen Captured");


    catch (Exception ex)





Step 6: Now compile it and run it.

You will get your captured screen.

That's all for this article. I am embedding the source file so that you can go through it.

Thank You.