当前位置:  开发笔记 > 编程语言 > 正文

如何以编程方式获取.Net WinForms控件的屏幕截图?

如何解决《如何以编程方式获取.NetWinForms控件的屏幕截图?》经验,为你挑选了3个好方法。

你如何以编程方式获得.Net控件的图片?



1> 小智..:

每个名为DrawToBitmap的控件都有一个方法.您不需要p/invoke来执行此操作.

Control c = new TextBox();
System.Drawing.Bitmap bmp = new System.Drawing.Bitmap(c.Width, c.Height);
c.DrawToBitmap(bmp, c.ClientRectangle);



2> Joey..:

您可以使用从.NET 2.0开始的Control类的DrawToBitmap方法以编程方式轻松获取.NET控件的图片

这是VB中的一个示例

    Dim formImage As New Bitmap("C:\File.bmp")
    Me.DrawToBitmap(formImage, Me.Bounds)

这里是C#:

 Bitmap formImage = New Bitmap("C:\File.bmp")
 this.DrawToBitmap(formImage, this.Bounds)



3> Hallgrim..:

Control.DrawToBitmap将允许您将大多数控件绘制到位图.这不适用于RichTextBox和其他一些.

如果你想捕获这些,或者拥有其中一个的控件,那么你需要像这个CodeProject文章中描述的那样进行PInvoke:Image Capture

请注意,其中一些方法会捕获屏幕上的内容,因此如果您有另一个窗口覆盖您的控件,您将获得该控件.

推荐阅读
雨天是最美
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有