вы можете использовать Screen.AllScreens
foreach ( Screen screen in Screen.AllScreens )
{
// Create a graphics object from the bitmap
screenshot = new Bitmap( screen.Bounds.Width,
screen.Bounds.Height,
System.Drawing.Imaging.PixelFormat.Format32bppArgb );
// Take the screenshot from the upper left corner to the right bottom corner
gfxScreenshot = Graphics.FromImage( screenshot );
// Save the screenshot
gfxScreenshot.CopyFromScreen(
screen.Bounds.X,
screen.Bounds.Y,
0,
0,
screen.Bounds.Size,
CopyPixelOperation.SourceCopy );
}