2010-09-10 78 views

回答

3

即使在VisualStudio中对Intellisense隐藏,也可以使用Control.DrawToBitmap()。 WebBrowser仍继承于基类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"); 
    } 
} 
+0

这正是我所需要的......谢谢 – Muse 2010-09-10 07:03:23

+0

工作就像一个魅力。谢谢! – molbalga 2016-11-08 09:50:16