如何在c#中使用滚动条拍摄Windows窗体的屏幕截图

时间:2013-11-13 21:33:16

标签: c# winforms screenshot

我有一个Windows窗体应用程序。

表格大而且有滚动条可以查看其全部内容。

我需要拍摄整个表格的屏幕截图(包括由于表格高度而在屏幕之外的区域)。

我尝试使用代码,但它只捕获屏幕上可见的表单部分:

ScreenCapture sc = new ScreenCapture();
// capture entire screen, and save it to a file
Image img = sc.CaptureScreen();
// display image in a Picture control named imageDisplay
this.imageDisplay.Image = img;
// capture this window, and save it
sc.CaptureWindowToFile(this.Handle,"C:\\temp2.gif",ImageFormat.Gif);

我无法拍摄整个表格的屏幕截图。

有人可以告诉我捕捉整个表格的方法,包括因滚动而隐藏的区域吗?

2 个答案:

答案 0 :(得分:0)

考虑将屏幕绘制为位图:http://msdn.microsoft.com/en-us/library/system.windows.forms.control.drawtobitmap.aspx

但是存在一些限制,可能会限制最大大小,并且绘制富文本框不起作用。

答案 1 :(得分:0)

您是否尝试使用Control.DrawToBitmap,您可以在表单上使用它以及表单中的特定控件。