获取WebBrowser控件的屏幕截图

有人可以分享代码来截取Web浏览器控件的截图并将其保存在预定的路径中。

我正在使用VS 2008 .Net 3.5。

您可以使用Control.DrawToBitmap() ,即使它在VisualStudio中的Intellisense中隐藏。 WebBrowser仍然inheritance自基类Control,因此该方法确实存在。 但我所做的是使用我用来测试它的MenuItem创建一个MenuStrip(这基本上只是一个标准的点击事件),而是创建了一个图形对象,并使用正确的坐标复制了一部分屏幕。 您需要实际调整的唯一事项是WebBrowser控件的名称以及实际保存图像的行。

private void copyToolStripMenuItem_Click(object sender, EventArgs e) { int width, height; width = webBrowser1.ClientRectangle.Width; height = webBrowser1.ClientRectangle.Height; using (Bitmap image = new Bitmap(width, height)) { using (Graphics graphics = Graphics.FromImage(image)) { Point p, upperLeftSource, upperLeftDestination; p = new Point(0, 0); upperLeftSource = webBrowser1.PointToScreen(p); upperLeftDestination = new Point(0, 0); Size blockRegionSize = webBrowser1.ClientRectangle.Size; graphics.CopyFromScreen(upperLeftSource, upperLeftDestination, blockRegionSize); } image.Save("C:\\Test.bmp"); } } 

这是一篇说明这一点的文章 。 还有另一个 。 甚至更多 。