Предыдущая ссылка здесь .
Пример кода по той же ссылке:
Graphics g = form.CreateGraphics();
Bitmap bmp = new Bitmap(form.Size.Width, form.Size.Height, g);
Graphics memoryGraphics = Graphics.FromImage(bmp);
IntPtr dc = memoryGraphics.GetHdc();
bool success = PrintWindow(form.Handle, dc, 0);
memoryGraphics.ReleaseHdc(dc);
// bmp now contains the screenshot
Также, как указано в приведенной выше ссылке, вы можете использовать управляемый Control.DrawToBitamp для достижения того же самого.